KickJava   Java API By Example, From Geeks To Geeks.

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


1   /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as published by
10  * the Free Software Foundation.
11  *
12  * This program is distributed WITHOUT ANY WARRANTY; and without the
13  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18  * or write to:
19  *
20  * Free Software Foundation, Inc.,
21  * 59 Temple Place - Suite 330,
22  * Boston, MA USA 02111-1307
23  *
24  *
25  *
26  *
27  * MainFrame.java
28  *
29  * Created on 5 febbraio 2003, 12.45
30  *
31  */

32
33 package it.businesslogic.ireport.gui;
34 import it.businesslogic.ireport.TextReportElement;
35 import it.businesslogic.ireport.crosstab.gui.CrosstabMeasuresView;
36 import it.businesslogic.ireport.gui.box.JBoxButton;
37 import it.businesslogic.ireport.gui.docking.DockingContainer;
38 import it.businesslogic.ireport.gui.event.*;
39 import it.businesslogic.ireport.gui.event.ReportElementsSelectionEvent;
40 import it.businesslogic.ireport.gui.fonts.FontLoaderDialog;
41 import it.businesslogic.ireport.gui.fonts.FontsPathDialog;
42 import it.businesslogic.ireport.gui.logpane.*;
43 import it.businesslogic.ireport.gui.library.*;
44 import it.businesslogic.ireport.gui.locale.*;
45 import it.businesslogic.ireport.gui.documentstructure.*;
46 import it.businesslogic.ireport.gui.queryexecuters.QueryExecuterDef;
47 import it.businesslogic.ireport.gui.queryexecuters.QueryExecutersDialog;
48 import it.businesslogic.ireport.gui.sheet.ReportElementSheetPanel;
49 import it.businesslogic.ireport.gui.style.StylesView;
50 import it.businesslogic.ireport.gui.wizard.ReportGroupWizard;
51 import it.businesslogic.ireport.gui.wizard.UserChoicesWizardTemplate;
52 import it.businesslogic.ireport.gui.wizard.UserTemplatesDialog;
53 import it.businesslogic.ireport.rmi.IReportServerImpl;
54 import it.businesslogic.ireport.rmi.IReportTCPServer;
55 import it.businesslogic.ireport.undo.*;
56 import it.businesslogic.ireport.*;
57 import it.businesslogic.ireport.crosstab.gui.CrosstabEditorPanel;
58 import it.businesslogic.ireport.gui.command.FormatCommand;
59 import it.businesslogic.ireport.gui.docking.GenericDragTargetListener;
60 import it.businesslogic.ireport.gui.style.StylesDialog;
61 import it.businesslogic.ireport.gui.subdataset.SubDatasetsDialog;
62 import it.businesslogic.ireport.util.*;
63 import java.lang.reflect.InvocationTargetException JavaDoc;
64 import javax.swing.tree.*;
65 import java.util.*;
66 import java.io.*;
67 import javax.swing.*;
68 import java.awt.event.*;
69 import java.awt.Point JavaDoc;
70 import java.awt.dnd.DropTarget JavaDoc;
71
72 import jcmdline.*;
73 import java.awt.Dimension JavaDoc;
74
75 import org.apache.xerces.parsers.DOMParser;
76 import org.flexdock.dockbar.DockbarManager;
77 import org.flexdock.dockbar.layout.DockbarLayoutManager;
78 import org.flexdock.docking.Dockable;
79 import org.flexdock.docking.DockingPort;
80 import org.flexdock.docking.event.DockingEvent;
81 import org.flexdock.docking.event.DockingListener;
82 import org.flexdock.plaf.PlafManager;
83 import org.w3c.dom.Document JavaDoc;
84 import org.w3c.dom.Node JavaDoc;
85 import org.w3c.dom.NodeList JavaDoc;
86 import org.w3c.dom.NamedNodeMap JavaDoc;
87
88 import java.awt.BorderLayout JavaDoc;
89 import java.awt.Component JavaDoc;
90 import javax.swing.border.LineBorder JavaDoc;
91
92 import org.flexdock.docking.DockingConstants;
93 import org.flexdock.docking.DockingManager;
94 import org.flexdock.util.SwingUtility;
95 import org.flexdock.view.View;
96 import org.flexdock.view.Viewport;
97
98
99 import org.xml.sax.SAXException JavaDoc;
100 /**
101  * This class is the core of the GUI of iReport. From this class we control all
102  * events related to the open and close files, handling of properties files,
103  * handling JMDIDestopPane, Menus....
104  *
105  * @author Administrator
106  */

107 public class MainFrame extends javax.swing.JFrame JavaDoc
108         implements ReportListener, Runnable JavaDoc, LanguageChangedListener, StyleChangedListener, ReportDocumentStatusChangedListener
109 {
110
111     public int docCounter=0;
112
113     private boolean noExit = false;
114
115     private Thread JavaDoc checkModifiedFielsThread = null;
116     /**
117      * "iReport " + version
118      * To get the version, MainFrame.constTitle.substring(8);
119      */

120     public static String JavaDoc constTitle = "iReport 1.3.0 ";
121     private String JavaDoc homeDirectory = ".";
122     private java.util.Vector JavaDoc toolBarControls;
123     private java.util.HashMap JavaDoc pluginEntries;
124     private ElementPropertiesDialog elementPropertiesDialog;
125     private EventsForm eventsForm;
126     private ValuesDialog valuesDialog;
127     private GroupsDialog groupsDialog;
128     private BandsDialog bandsDialog;
129     private FontsDialog fontsDialog;
130     private LocaleResourceFilesDialog localeFilesDialog;
131     private ReportQueryDialog reportQueryDialog;
132     private PluginConfigurationDialog pluginConfigurationDialog = null;
133     private ToolbarFormatPanel jToolbarFormatPanel = null;
134     private ToolbarConnectionPanel jToolbarConnectionPanel = null;
135
136     private Vector ttfFonts;
137     private Vector connections;
138     private Properties properties;
139     private Vector recentFilesList;
140     private Vector favoriteFilesList;
141     private Vector recentProjectsList;
142     private Vector clipboards[];
143     private Vector classpath;
144     private Vector fontspath;
145     
146     private List JavaDoc userChoicesWizardTemplates = null;
147     
148     private it.businesslogic.ireport.ReportElement styleClipboards[];
149     private int activeClipboard = 0;
150     private int activeStyleClipboard = 0;
151     private boolean catchFormActivated = true;
152     private boolean embeddedIreport = false;
153     private boolean usingWS = false;
154
155     private LibraryPanel libraryPanel = null;
156     private CrosstabMeasuresView crosstabMeasuresView = null;
157
158     private DocumentStructurePanel documentStructurePanel = null;
159     private CrosstabStructurePanel crosstabStructurePanel = null;
160     private ReportElementSheetPanel reportElementSheetPanel = null;
161     private StylesView stylesView = null;
162
163
164     public static ReportClassLoader reportClassLoader = null;
165
166     private static MainFrame mainInstance = null;
167
168     private boolean dontHandleEvent;
169
170     private StringBuffer JavaDoc outputBuffer;
171
172     private javax.swing.event.EventListenerList JavaDoc listenerList = null;
173
174     private int rightColumnWidth = 0;
175
176     private Vector chartSeriesClipBoard = new Vector();
177     private it.businesslogic.ireport.chart.Dataset chartDatasetClipBoard = null;
178     private Vector measuresClipBoard = new Vector();
179     private Vector queryExecuters = new Vector();
180
181
182     /**
183      * Variable currentZoomFactor is used to remember the zoomFactor
184      * while reloading a file after changing it from outside or
185      * via the option Edit XML source.
186      */

187     private double currentZoomFactor = 1.0;
188
189     public static String JavaDoc IREPORT_HOME_DIR;
190
191     public static String JavaDoc IREPORT_USER_HOME_DIR;
192
193     public static String JavaDoc IREPORT_TMP_DIR;
194
195     public static String JavaDoc IREPORT_RECENT_FILES_FILE;
196
197     public static String JavaDoc IREPORT_EXPRESSIONS_FILE;
198
199     public static String JavaDoc IREPORT_FAVORITE_FILES_FILE;
200
201     public static String JavaDoc IREPORT_RECENT_PROJECTS_FILE;
202
203     public static String JavaDoc IREPORT_CONFIG_FILE;
204
205     public static String JavaDoc IREPORT_STYLE_LIBRARY;
206
207     public static String JavaDoc IREPORT_DEFAULT_HOME_DIR;
208
209     public static final int IREPORT_JAVA_VIEWER = 1;
210
211     public static final int IREPORT_PDF_VIEWER = 2;
212
213     public static final int IREPORT_HTML_VIEWER = 4;
214
215     public static final int IREPORT_XLS_VIEWER = 8;
216
217     public static final int IREPORT_CSV_VIEWER = 16;
218
219     public static final int IREPORT_JASPER_VIEWER = 32;
220
221     public static final int IREPORT_TXT_VIEWER = 64;
222
223     public static final int IREPORT_TXT_JR_VIEWER = 128;
224
225     public static final int IREPORT_RTF_VIEWER = 256;
226
227     public static final int IREPORT_XLS2_VIEWER = 512;
228
229     private LogPane logPane = null;
230     private JBoxButton jBoxButton = null;
231
232
233
234     /**
235      * Viewes ....
236      */

237     View viewFiles = null;
238     View viewDocumentStructure = null;
239     View viewPropertySheet = null;
240     View viewThreads = null;
241     View viewLibrary = null;
242     View logPaneView = null;
243     View stylesPanleView = null;
244     View crosstabStructureView = null;
245     View crosstabMeasuresPanelView = null;
246
247
248     View desktop = null;
249
250     /**
251      * This is the set of style availables in the library...
252      */

253     private Vector styleLibrarySet = new Vector();
254
255     /**
256      * Return the main instance of the MainFrame. This method assume that there is only
257      * one iReport instanced per JVM, so the first istance of MainFrame is the only possible.
258      */

259     public static MainFrame getMainInstance() {
260         return mainInstance;
261     }
262
263     static {
264
265         reportClassLoader = new ReportClassLoader();
266
267     } //end static section for simple init
268
/*
269          * You can override ireport home setting ireport.home variable or using line command options.
270          *
271          */

272     public void setiReportPaths(String JavaDoc ireport_home, String JavaDoc ireport_user_home, String JavaDoc ireport_tmp_dir) {
273
274         // Setting User home directory
275
if ( ireport_user_home == null) {
276             ireport_user_home = System.getProperty("user.home") + File.separator + ".ireport";
277             IREPORT_USER_HOME_DIR = ireport_user_home;
278
279             //setHomeDirectory(Misc.nvl(System.getProperty("ireport.home"), IREPORT_DEFAULT_HOME_DIR));
280
}
281         else {
282             if (ireport_user_home.endsWith(File.separator)) {
283                 ireport_user_home = ireport_user_home.substring(0, ireport_user_home.length()-1);
284             }
285             IREPORT_USER_HOME_DIR = ireport_user_home;
286         }
287
288         // Setting iReport directory
289
if ( ireport_home == null) {
290             ireport_home = System.getProperty("ireport.home",".");
291             IREPORT_HOME_DIR = ireport_home;
292             setHomeDirectory(IREPORT_HOME_DIR);
293         }
294         else {
295             if (ireport_home.endsWith(File.separator)) {
296                 ireport_home = ireport_home.substring(0, ireport_home.length()-1);
297             }
298             IREPORT_HOME_DIR = ireport_home;
299         }
300
301         // Setting temp dir...
302
if (IREPORT_TMP_DIR == null || IREPORT_TMP_DIR.trim().length() == 0) {
303             if ( ireport_tmp_dir == null) {
304                 ireport_user_home = System.getProperty("user.home") + File.separator + ".ireport";
305                 IREPORT_TMP_DIR = ireport_home;
306
307                 //setHomeDirectory(Misc.nvl(System.getProperty("ireport.home"), IREPORT_DEFAULT_HOME_DIR));
308
}
309             else {
310                 if (ireport_tmp_dir.endsWith(File.separator)) {
311                     ireport_tmp_dir = ireport_tmp_dir.substring(0, ireport_tmp_dir.length()-1);
312                 }
313                 IREPORT_TMP_DIR = ireport_tmp_dir;
314             }
315         }
316
317         IREPORT_DEFAULT_HOME_DIR = IREPORT_HOME_DIR;
318         setHomeDirectory(IREPORT_HOME_DIR);
319
320         IREPORT_RECENT_FILES_FILE = IREPORT_USER_HOME_DIR + File.separator + "recentFiles.xml";
321         IREPORT_EXPRESSIONS_FILE = IREPORT_USER_HOME_DIR + File.separator + "expressions.xml";
322         IREPORT_RECENT_PROJECTS_FILE = IREPORT_USER_HOME_DIR + File.separator + "recentProjects.xml";
323         IREPORT_FAVORITE_FILES_FILE = IREPORT_USER_HOME_DIR + File.separator + "favoriteFiles.xml";
324         IREPORT_CONFIG_FILE = IREPORT_USER_HOME_DIR + File.separator + "config.xml";
325         IREPORT_STYLE_LIBRARY = IREPORT_USER_HOME_DIR + File.separator + "styleLibrary.xml";
326         //System.out.println(IREPORT_DEFAULT_HOME_DIR);
327
//System.out.println(IREPORT_HOME_DIR);
328

329         getReportClassLoader().addNoRelodablePath( IREPORT_USER_HOME_DIR + File.separator + "classes");
330         
331         try {
332             //nothing in here yet.
333
}
334         catch(Throwable JavaDoc e) {
335             e.printStackTrace(System.err);
336         }
337     }
338
339     public MainFrame() {
340         this(new HashMap());
341     }
342     /** Creates new form MainFrame */
343     public MainFrame(final Map JavaDoc args) {
344
345         if (mainInstance==null) {
346             mainInstance = this;
347         }
348
349         //Thread.currentThread().setContextClassLoader(this.getReportClassLoader());
350

351         final SplashDialog sp;
352
353         if (args.get("splash") != null)
354         {
355          sp = (SplashDialog)args.get("splash");
356         }
357         else
358         {
359             sp = null;
360         }
361
362         properties = new Properties();
363         outputBuffer = new StringBuffer JavaDoc();
364         connections = new Vector();
365         recentFilesList = new Vector();
366         favoriteFilesList = new Vector();
367         recentProjectsList = new Vector();
368         pluginEntries = new java.util.HashMap JavaDoc();
369
370         setiReportPaths((String JavaDoc)args.get("ireport-home"),
371         (String JavaDoc)args.get("user-home"),
372         (String JavaDoc)args.get("tmp-dir"));
373
374         if (args.get("embedded") != null &&
375             args.get("embedded").equals("true")) this.setNoExit(true);
376
377         if (args.get("webstart") != null &&
378             args.get("webstart").equals("true")) this.setUsingWS(true);
379
380         //Added by Felix Firgau for I18n on Feb 10th 2006
381
//it.businesslogic.ireport.util.I18n.setCurrentLocale( properties.getProperty("Language"), properties.getProperty("Country") );
382
//Modified by Felix Firgau for I18n on Feb 8th 2006
383

384         // Set the classloader...
385
//Thread.currentThread().setContextClassLoader( reportClassLoader );
386
//Modified by Felix Firgau for I18n on Feb 8th 2006
387
//if (sp!=null) sp.updateLoadingStatus(10,"Loading iReport configuration");
388
if (sp!=null) sp.updateLoadingStatus(10,it.businesslogic.ireport.util.I18n.getString("loadingIReportConfig","Loading iReport configuration"));
389         //Modification end
390

391         if (args.containsKey("config-file")) {
392             loadiReportConfiguration((String JavaDoc)args.get("config-file"));
393         }
394         else {
395             loadiReportConfiguration();
396         }
397         
398         it.businesslogic.ireport.util.I18n.setCurrentLocale( properties.getProperty("Language"), properties.getProperty("Country") );
399         
400         if (args.get("beanClass") != null)
401         {
402             getProperties().put("beanClass",(String JavaDoc)args.get("beanClass"));
403         }
404
405         //Modified by Felix Firgau for I18n on Feb 8th 2006
406
//if (sp!=null) sp.updateLoadingStatus(20,"Setting locale");
407
if (sp!=null) sp.updateLoadingStatus(20,it.businesslogic.ireport.util.I18n.getString("setLocale","Setting locale"));
408         //it.businesslogic.ireport.util.I18n.setCurrentLocale( properties.getProperty("Language"), properties.getProperty("Country") );
409
//Modification end
410

411         Misc.setPLAF( properties.getProperty("LookAndFeel") );
412
413         //Modified by Felix Firgau for faster loading on Oct 11th 2006
414
if (args.get("noPlaf") == null || args.get("noPlaf").equals("false"))
415           PlafManager.setPreferredTheme("win32");
416
417         //Modified by Felix Firgau for I18n on Feb 8th 2006
418
//if (sp!=null) sp.updateLoadingStatus(30,"Init main frame components");
419
if (sp!=null) sp.updateLoadingStatus(30,it.businesslogic.ireport.util.I18n.getString("initMainFrame","Init main frame components"));
420         //Modification end
421

422         jToolbarFormatPanel = new ToolbarFormatPanel(this);
423         jToolbarConnectionPanel = new ToolbarConnectionPanel(this);
424
425         initComponents();
426
427         this.setTitle(this.constTitle);
428         //getDockingContainerRight().setPosition( DockingContainer.POSITION_RIGHT);
429
logPane = new LogPane();
430         //jPanelSouth.add(logPane, java.awt.BorderLayout.CENTER);
431

432         this.jCheckBoxMenuItemGrid.setSelected( properties.getProperty("showGrid","false").equals("true") );
433         this.jCheckBoxMenuItemSnapToGrid.setSelected( properties.getProperty("snapToGrid","false").equals("true") );
434         this.jCheckBoxMenuItemEMM.setSelected( properties.getProperty("EMM","false").equals("true") );
435         this.jCheckBoxMenuItemReportVirtualizer.setSelected( properties.getProperty("ReportVirtualizer","false").equals("true") );
436         this.jCheckBoxMenuItemIgnorePagination.setSelected( properties.getProperty("IgnorePagination","false").equals("true") );
437         this.jListThreads.setModel(new javax.swing.DefaultListModel JavaDoc());
438         I18n.addOnLanguageChangedListener( this );
439
440         //Modified by Felix Firgau for I18n on Feb 8th 2006
441
//if (sp!=null) sp.updateLoadingStatus(60,"Loading fonts");
442

443         if (properties.getProperty("LoadFontOnStartup","true").equals("true") )
444         {
445             if (sp!=null) sp.updateLoadingStatus(60,it.businesslogic.ireport.util.I18n.getString("loadingFonts","Loading fonts"));
446             //Modification end
447
this.ttfFonts = FontListLoader.loadTTFFonts();
448         }
449         if (ttfFonts == null) ttfFonts = new Vector();
450
451         System.setProperty("org.xml.sax.driver","org.apache.xerces.parsers.SAXParser");
452
453         //Modified by Felix Firgau for I18n on Feb 8th 2006
454
//if (sp!=null) sp.updateLoadingStatus(75,"Configuring GUI components");
455
if (sp!=null) sp.updateLoadingStatus(70,it.businesslogic.ireport.util.I18n.getString("configGUIComponents","Configuring GUI components"));
456
457         //Modification end of Felix Firgau
458

459         //jMDIDesktopPane.addInternalFrameActivatedListener(this);
460

461         this.setTitle( constTitle+ " - (c) 2002-2007 by JasperSoft Corp.");
462
463         toolBarControls = new java.util.Vector JavaDoc();
464
465         elementPropertiesDialog = new ElementPropertiesDialog(this,false);
466         elementPropertiesDialog.updateFonts();
467         valuesDialog = new ValuesDialog(this,false);
468         groupsDialog = new GroupsDialog(this,false);
469         bandsDialog = new BandsDialog(this,false);
470         fontsDialog = new FontsDialog(this,false);
471         reportQueryDialog = new ReportQueryDialog(this,false);
472         localeFilesDialog = new LocaleResourceFilesDialog(this,false);
473         eventsForm = new EventsForm();
474
475         jNumberComboBoxZoom.addValueChangedListener(new ValueChangedListener() {
476             public void valueChanged(ValueChangedEvent evt) {
477                 jNumberComboBoxZoomValueChanged(evt);
478             }
479         });
480
481         //user pressed enter
482
jNumberComboBoxZoom.addActionListener(new ActionListener() {
483             public void actionPerformed(ActionEvent evt) {
484                 //simulate focus lost to force zoom update
485
jNumberComboBoxZoom.focusLost(new FocusEvent(MainFrame.this, FocusEvent.COMPONENT_SHOWN));
486             }
487         });
488
489         jMDIDesktopPane.addInternalFrameActivatedListener(new InternalFrameActivatedListener() {
490             public void internalFrameActivated( InternalFrameActivatedEvent evt) {
491                 jMDIDesktopPaneInternalFrameActivated(evt);
492             }
493         });
494
495         getToolBarControls().addElement( this.jButtonNew);
496         getToolBarControls().addElement( this.jButtonOpen);
497         getToolBarControls().addElement( this.jButtonSave);
498         getToolBarControls().addElement( null);
499         getToolBarControls().addElement( this.jButtonCut);
500         getToolBarControls().addElement( this.jButtonCopy);
501         getToolBarControls().addElement( this.jButtonPaste);
502         getToolBarControls().addElement( null);
503         getToolBarControls().addElement( this.jToggleButtonPointer);
504         getToolBarControls().addElement( this.jToggleButtonLineTool);
505         getToolBarControls().addElement( this.jToggleButtonRectTool);
506         //getToolBarControls().addElement( this.jToggleButtonRectRoundTool);
507
getToolBarControls().addElement( this.jToggleButtonEllipseTool);
508         getToolBarControls().addElement( this.jToggleButtonImageTool);
509         getToolBarControls().addElement( this.jToggleButtonStaticTextTool);
510         getToolBarControls().addElement( this.jToggleButtonTextFieldTool);
511         getToolBarControls().addElement( this.jToggleButtonFrameTool);
512         getToolBarControls().addElement( this.jToggleButtonSubreportTool);
513         getToolBarControls().addElement( this.jToggleButtonCrosstabTool);
514         getToolBarControls().addElement( this.jToggleButtonChartTool);
515         getToolBarControls().addElement( this.jToggleButtonBarcodeTool);
516         getToolBarControls().addElement( null);
517         getToolBarControls().addElement( this.jButtonParameters);
518         getToolBarControls().addElement( this.jButtonGroups);
519         getToolBarControls().addElement( this.jButtonBands);
520         getToolBarControls().addElement( this.jButtonDatabase);
521         getToolBarControls().addElement( null);
522         getToolBarControls().addElement( this.jPanelZoom);
523         getToolBarControls().addElement( this.jButtonLens1);
524         getToolBarControls().addElement( this.jButtonLens2);
525         getToolBarControls().addElement( null);
526         getToolBarControls().addElement( this.jButtonCompiler);
527
528         getToolBarControls().addElement(this.jButtonRun1);
529         getToolBarControls().addElement(this.jButtonRun2);
530         getToolBarControls().addElement( null);
531         //toolBarControls.addElement(this.jButtonAlignLeft);
532
//toolBarControls.addElement(this.jButtonAlignCenter);
533
//toolBarControls.addElement(this.jButtonAlignRight);
534
//toolBarControls.addElement(this.jButtonAlignJustify);
535

536         jBoxButton = new JBoxButton();
537         jBoxButton.setMinimumSize(new java.awt.Dimension JavaDoc(36, 22));
538         jBoxButton.setMaximumSize(new java.awt.Dimension JavaDoc(36, 22));
539         jBoxButton.setPreferredSize(new java.awt.Dimension JavaDoc(36, 22));
540         jBoxButton.setEnabled(false);
541         jBoxButton.addActionListener(new java.awt.event.ActionListener JavaDoc() {
542             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
543                 jBoxButtonActionPerformed(evt);
544             }
545         });
546
547         jToolBarText.add(jBoxButton, jToolBarText.getComponentCount()-1);
548
549         jNumberComboBoxZoom.addEntry("50%",50);
550         jNumberComboBoxZoom.addEntry("75%",75);
551         jNumberComboBoxZoom.addEntry("100%",100);
552         jNumberComboBoxZoom.addEntry("150%",150);
553         jNumberComboBoxZoom.addEntry("200%",200);
554         jNumberComboBoxZoom.addEntry("400%",400);
555         jNumberComboBoxZoom.addEntry("800%",800);
556         jNumberComboBoxZoom.addEntry("Width",100);
557         jNumberComboBoxZoom.addEntry("Height",100);
558         jNumberComboBoxZoom.addEntry("Whole page",100);
559         //jNumberComboBoxZoom.addEntry("Fit to page",100); // deactivate since July 16 2004
560

561         //java.awt.Dimension dim = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
562
//this.setSize(dim);
563

564         //Modified by Felix Firgau for I18n on Feb 8th 2006
565
//if (sp!=null) sp.updateLoadingStatus(80,"Loading available font family names");
566
if (sp!=null) sp.updateLoadingStatus(75,it.businesslogic.ireport.util.I18n.getString("loadingAvFontFamNames","Loading available font family names"));
567         //Modification end
568

569         String JavaDoc[] fontFamilies = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
570         jComboBoxFont.addItem("");
571         for (int i=0; i<fontFamilies.length; ++i)
572         {
573             jComboBoxFont.addItem(fontFamilies[i]);
574             if (fontFamilies[i].equalsIgnoreCase("SansSerif"))
575             {
576                 jComboBoxFont.setSelectedIndex(i);
577             }
578         }
579
580         jNumberComboBoxSize.addEntry("3",3);
581         jNumberComboBoxSize.addEntry("5",5);
582         jNumberComboBoxSize.addEntry("8",8);
583         jNumberComboBoxSize.addEntry("10",10);
584         jNumberComboBoxSize.addEntry("12",12);
585         jNumberComboBoxSize.addEntry("14",14);
586         jNumberComboBoxSize.addEntry("18",18);
587         jNumberComboBoxSize.addEntry("24",24);
588         jNumberComboBoxSize.addEntry("36",36);
589         jNumberComboBoxSize.addEntry("48",48);
590
591         jNumberComboBoxSize.setSelectedIndex(5);
592
593         //jPanelToolBarComponentResized(new java.awt.event.ComponentEvent(jPanelToolBar,0));
594

595         java.awt.Image JavaDoc def = Misc.loadImageFromResources("it/businesslogic/ireport/icons/layout/img.gif");
596         try {
597             java.awt.MediaTracker JavaDoc mt = new java.awt.MediaTracker JavaDoc( new javax.swing.JPanel JavaDoc() );
598             mt.addImage(def,0);
599             mt.waitForID(0);
600         } catch (Exception JavaDoc ex) {
601             /* Do nothing */
602         }
603         ImageReportElement.setImgDef(def);
604         //jNumberComboBoxZoom.setPostfix("%");
605
//Modified by Felix Firgau for I18n on Feb 9th 2006
606
javax.swing.tree.DefaultMutableTreeNode JavaDoc root = new javax.swing.tree.DefaultMutableTreeNode JavaDoc(it.businesslogic.ireport.util.I18n.getString("openedFiles", "Opened files"));//End
607
javax.swing.tree.DefaultTreeModel JavaDoc model = new javax.swing.tree.DefaultTreeModel JavaDoc(root);
608
609         javax.swing.ToolTipManager.sharedInstance().registerComponent(jTreeFiles);
610         jTreeFiles.setModel( model );
611         jTreeFiles.setCellRenderer( new ProjectExplorerTreeCellRenderer());
612
613         jTreeFiles.setDropTarget(new DropTarget JavaDoc(jTreeFiles, new GenericDragTargetListener()));
614         //Modified by Felix Firgau for I18n on Feb 8th 2006
615
//--- dockingContainerLeft.addPanel(it.businesslogic.ireport.util.I18n.getString("files", "Files"),jPanelFiles,true);//Modification end
616

617         documentStructurePanel = new DocumentStructurePanel();
618         //Modified by Felix Firgau for I18n on Feb 8th 2006
619
//--- dockingContainerLeft.addPanel(it.businesslogic.ireport.util.I18n.getString("documentStructure", "Documentstructure"),documentStructurePanel,true);//Modification end
620
this.addReportListener( documentStructurePanel );
621
622         crosstabStructurePanel = new CrosstabStructurePanel();
623         //--- jTabbedPaneExplorer.addTab("Document structure",crosstabStructurePanel);
624
this.addReportListener( crosstabStructurePanel );
625
626         reportElementSheetPanel = new ReportElementSheetPanel();
627         reportElementSheetPanel.setResizeWeight(0.1);
628         //dockingContainerRight.addPanel(it.businesslogic.ireport.util.I18n.getString("elementProperties","Element properties"),reportElementSheetPanel, true);
629

630         libraryPanel = new LibraryPanel();
631         //jTabbedPaneRight.addTab("Library",libraryPanel);
632
//Modified by Felix Firgau for I18n on Feb 8th 2006
633
//--- dockingContainerRight.addPanel(it.businesslogic.ireport.util.I18n.getString("library"),libraryPanel,true);//Modification end
634

635         stylesView = new StylesView();
636         //dockingContainerRight.insertPanel(1,it.businesslogic.ireport.util.I18n.getString("stylesLibrary","Styles Library"),stylesView, dockingContainerRight.INSERT_MODE_SHAREDPOSTION, true);
637

638         crosstabMeasuresView = new CrosstabMeasuresView();
639
640
641         // New docking code
642
//DockbarLayoutManager.myComponent = jPanelMaster;
643
//DockbarManager.rootHere = jPanelMaster;
644
final org.flexdock.docking.defaults.DefaultDockingPort defaultDockingPort = new org.flexdock.docking.defaults.DefaultDockingPort();
645
646         desktop = createDesktopPage();
647
648         viewFiles = createView("Files",it.businesslogic.ireport.util.I18n.getString("files", "Files"), true, true, jTreeFiles);
649         viewDocumentStructure = createView("Structure",it.businesslogic.ireport.util.I18n.getString("documentStructure", "Document structure"), true, true, documentStructurePanel);
650         viewPropertySheet = createView("Props",it.businesslogic.ireport.util.I18n.getString("elementProperties","Element properties"), true, true, reportElementSheetPanel);
651         jScrollProcesses.setSize(100,100);
652         viewThreads = createView("Threads",it.businesslogic.ireport.util.I18n.getString("threads","Threads"), true, true, jScrollProcesses);
653         viewLibrary = createView("Library",it.businesslogic.ireport.util.I18n.getString("library","Library"), true, true, libraryPanel);
654         logPaneView = createView("logPane",it.businesslogic.ireport.util.I18n.getString("output","Output"), true, true, logPane);
655         stylesPanleView = createView("Styles",it.businesslogic.ireport.util.I18n.getString("stylesLibrary","Styles Library"), true, true, stylesView);
656         crosstabMeasuresPanelView = createView("crosstabObjects",it.businesslogic.ireport.util.I18n.getString("crosstabObjects","Crosstab objects"), false, true, crosstabMeasuresView);
657         crosstabStructureView = createView("crosstabStructure",it.businesslogic.ireport.util.I18n.getString("crosstabStructure","Crosstab structure"), false, true, crosstabStructurePanel);
658
659         jPanelMaster.add(defaultDockingPort, BorderLayout.CENTER);
660
661         jPanelMaster.updateUI();
662         
663         // ------------- ALL TASK THAT DOES NOT NEED TO BE IN THE EDT
664

665         //if (sp!=null) sp.updateLoadingStatus(80,"Loading styles"); // I18N Done on 6th April 06
666
if (sp!=null) sp.updateLoadingStatus(80,it.businesslogic.ireport.util.I18n.getString("loadingStyles", "Loading styles"));
667         loadStyleLibrary();
668         stylesView.updateStyles();
669
670
671         //if (sp!=null) sp.updateLoadingStatus(85,"Loading file lists"); // I18N Done on 6th April 06
672

673         if (sp!=null) sp.updateLoadingStatus(85, it.businesslogic.ireport.util.I18n.getString("loadingFileLists","Loading Loading file lists"));
674
675         loadFileLists();
676         loadExpressionsList();
677
678         updateRecentFileMenu(jMenuRecentFiles, getRecentFilesList() );
679         //updateRecentProjectMenu(jMenuRecentProjects, getRecentProjectsList());
680

681         //IRCompilerDocument doc = new IRCompilerDocument();
682

683         jMenuItemUndo.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_Z, KeyEvent.CTRL_DOWN_MASK));
684         jMenuItemRedo.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_Y, KeyEvent.CTRL_DOWN_MASK));
685         jCheckBoxMenuItemEMM.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_M, KeyEvent.CTRL_DOWN_MASK));
686         jMenuItemCut.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK));
687         jMenuItemCopy.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.CTRL_DOWN_MASK));
688         jMenuItemPaste.setAccelerator( javax.swing.KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.CTRL_DOWN_MASK));
689
690         jToolbarConnectionPanel.updateConnections();
691
692         clipboards = new Vector[5];
693         for (int i=0; i<5; ++i) {
694             clipboards[i] = new Vector();
695         }
696
697         styleClipboards = new it.businesslogic.ireport.ReportElement[5];
698         for (int i=0; i<5; ++i) {
699             styleClipboards[i] = null;
700         }
701
702         MainFrame.this.setReportViewer(MainFrame.this.getReportViewer());
703         MainFrame.this.disableSaveAllSpecific();
704         MainFrame.this.disableSaveSpecific();
705
706         String JavaDoc irHomeMessageKey = "messages.ireportHome";
707         String JavaDoc irHomeMessageDefault = "iReport home (ireport.home system property): {0}\n";
708         if (args.containsKey("ireport-home"))
709         {
710             irHomeMessageKey = "messages.ireportHome2";
711             irHomeMessageDefault = "iReport home (from command line): {0}\n";
712         }
713
714
715         logOnConsole(
716                 I18n.getFormattedString(irHomeMessageKey, irHomeMessageDefault, new Object JavaDoc[]{ "" + MainFrame.this.IREPORT_HOME_DIR} ));
717
718         irHomeMessageKey = "messages.userHome";
719         irHomeMessageDefault = "User home (user.home system property): {0}\n";
720         if (args.containsKey("ireport-home"))
721         {
722             irHomeMessageKey = "messages.userHome2";
723             irHomeMessageDefault = "User home (from command line): {0}\n";
724         }
725
726         logOnConsole(
727                 I18n.getFormattedString(irHomeMessageKey, irHomeMessageDefault, new Object JavaDoc[]{ "" + MainFrame.this.IREPORT_USER_HOME_DIR} ));
728
729         logOnConsole(
730                 I18n.getFormattedString("messages.compileDir", "iReport default compile directory: {0}\n", new Object JavaDoc[]{ "" + MainFrame.this.getDefaultCompilationDirectory()} ));
731
732         logOnConsole(
733                 I18n.getFormattedString("messages.userHome3",
734                     "iReport user home directory (iReport compiles here if there are no settings or the user hasn't selected to compile to the report directory): {0}\n",
735                     new Object JavaDoc[]{ "" + IREPORT_DEFAULT_HOME_DIR} ));
736
737         if (isUsingWS())
738         {
739                 logOnConsole(I18n.getString("messages.jwsactive", "JWS mode is active"));
740         }
741                       
742         jToolBarText.setVisible( getProperties().getProperty("toolbarTextVisible","false").equalsIgnoreCase("true") );
743         jToolBarFormat.setVisible( getProperties().getProperty("toolbarFormattingVisible","false").equalsIgnoreCase("true") );
744         jToolBarConnections.setVisible( getProperties().getProperty("toolbarConnectionsVisible","true").equalsIgnoreCase("true") );
745
746         jCheckBoxMenuItemElementsFormatting.setSelected( getProperties().getProperty("toolbarFormattingVisible","false").equalsIgnoreCase("true") );
747         jCheckBoxMenuItemTextFormatting.setSelected( getProperties().getProperty("toolbarTextVisible","false").equalsIgnoreCase("true") );
748
749                 
750         
751         try {
752
753                     
754             
755             SwingUtilities.invokeLater(new Runnable JavaDoc() {
756                 public void run() {
757
758                     jPanelMaster.updateUI();
759                     defaultDockingPort.updateUI();
760                     DockingManager.dock(desktop, (DockingPort)defaultDockingPort);
761                     
762                     boolean createLayout = true;
763                     
764                     try {
765                         if (getProperties().getProperty("RestoreLayout","true").equals("true") && DockingManager.loadLayoutModel(false))
766                         {
767                             createLayout = false;
768                             DockingManager.registerDockable((Dockable)logPaneView);
769                             DockingManager.registerDockable((Dockable)viewThreads);
770                             DockingManager.registerDockable((Dockable)viewPropertySheet);
771                             DockingManager.registerDockable((Dockable)viewDocumentStructure);
772                             DockingManager.registerDockable((Dockable)viewLibrary);
773                             DockingManager.registerDockable((Dockable)stylesPanleView);
774
775                         }
776                     } catch (Exception JavaDoc ex)
777                     {
778                         
779                     }
780                     
781                     if (createLayout)
782                     {
783                     //org.flexdock.docking.DockingManager.dock(desktop, (org.flexdock.docking.DockingPort)defaultDockingPort);
784

785                     
786                     DockingManager.dock((Dockable)logPaneView, (Dockable)desktop, DockingConstants.SOUTH_REGION, 0.3f);
787                     //desktop.dock(logPaneView, DockingConstants.SOUTH_REGION); //, .01f);
788
//org.flexdock.docking.DockingManager.setSplitProportion(desktop.getComponent(), 0.2f);
789

790                     DockingManager.dock((Dockable)viewThreads, (Dockable)logPaneView, DockingConstants.EAST_REGION, 0.2f);
791                     //logPaneView.dock(viewThreads, DockingConstants.EAST_REGION, 0.8f);
792
//org.flexdock.docking.DockingManager.setSplitProportion(viewThreads.getComponent(), 0.8f);
793

794                     DockingManager.dock((Dockable)viewPropertySheet, (Dockable)desktop, DockingConstants.EAST_REGION, 0.25f);
795                     //desktop.dock(viewPropertySheet, DockingConstants.EAST_REGION);
796
//org.flexdock.docking.DockingManager.setSplitProportion(viewPropertySheet.getComponent(), 0.75f);
797

798                     
799                     DockingManager.dock((Dockable)viewFiles, (Dockable)desktop, DockingConstants.WEST_REGION, 0.25f);
800                     //desktop.dock(viewFiles, DockingConstants.WEST_REGION);
801
//org.flexdock.docking.DockingManager.setSplitProportion(viewFiles.getComponent(), 0.1f);
802

803                     DockingManager.dock((Dockable)viewDocumentStructure, (Dockable)viewFiles, DockingConstants.SOUTH_REGION, 0.5f);
804                     //viewFiles.dock(viewDocumentStructure, DockingConstants.SOUTH_REGION);
805
//org.flexdock.docking.DockingManager.setSplitProportion(viewDocumentStructure.getComponent(), 0.5f);
806

807                     DockingManager.dock((Dockable)viewLibrary, (Dockable)viewPropertySheet, DockingConstants.SOUTH_REGION, 0.5f);
808                     //viewPropertySheet.dock(viewLibrary, DockingConstants.SOUTH_REGION);
809
//org.flexdock.docking.DockingManager.setSplitProportion(viewLibrary.getComponent(), 0.5f);
810
//defaultDockingPort.doLayout();
811

812                     DockingManager.dock((Dockable)stylesPanleView, (Dockable)viewLibrary, DockingConstants.CENTER_REGION);
813                     //viewLibrary.dock(stylesPanleView, DockingConstants.CENTER_REGION);
814
}
815                     
816                     DockingManager.setAutoPersist(true);
817                     
818                     viewLibrary.setActive(true);
819                     viewFiles.setActive(true);
820
821                     // -----------
822

823                     //Modified by Felix Firgau for I18n on Feb 8th 2006
824
//if (sp!=null) sp.updateLoadingStatus(90,"Loading plugins");
825
if (sp!=null) sp.updateLoadingStatus(90,it.businesslogic.ireport.util.I18n.getString("loadingPlugIns", "Loading plugins"));
826                     //Modification end
827

828                     loadPlugins(IREPORT_HOME_DIR + File.separator + "plugins" );
829
830                     
831                     //it.businesslogic.ireport.util.I18n.setCurrentLocale( properties.getProperty("Language"), properties.getProperty("Country") );
832

833                     //Modified by Felix Firgau for I18n on Feb 8th 2006
834
//if (sp!=null) sp.updateLoadingStatus(95,"Opening files");
835
if (sp!=null) sp.updateLoadingStatus(95,it.businesslogic.ireport.util.I18n.getString("openingFiles","Opening files"));
836                     //Modification end
837

838                     JReportFrame jrf = null;
839                     if (args.containsKey("files")) {
840                         Iterator iter = ((Collection)args.get("files")).iterator();
841                         while (iter.hasNext()) {
842                             try {
843                                 File f = (File)iter.next();
844                                 //Modified by Felix Firgau for I18n on Feb 8th 2006
845
//if (sp!=null) sp.updateLoadingStatus(98,"Opening " + f.getName());
846
if (sp!=null) sp.updateLoadingStatus(98,it.businesslogic.ireport.util.I18n.getString("opening","Opening ") + f.getName());
847                                 //Modification end
848

849                                 Report report = new Report(f.getPath());
850                                 jrf = openNewReportWindow( report );
851
852                             } catch (Exception JavaDoc ex) { }
853                         }
854                     }
855
856
857                     //jSplitPaneHelp.setDividerSize(6);
858
//if (rightColumnWidth > 0) jSplitPaneHelp.setDividerLocation(jSplitPaneHelp.getWidth()-8-200);
859
//dockingContainerRight.setVisible(true);
860
//dockingContainerRight.setPreferredDividerLocation(jSplitPaneHelp.getDividerLocation());
861

862                     
863
864                     try {
865                         if (jrf != null)
866                         {
867                             jrf.setSelected(true);
868                             setActiveReportForm(jrf);
869                         }
870                         else
871                         {
872                             setActiveReportForm(null);
873                         }
874                     } catch (Exception JavaDoc ex)
875                     {
876                     }
877
878                     if (MainFrame.getMainInstance().getProperties().getProperty( "enableRMIServer" ,"false").equals("true") ||
879                        (args.get("embedded") != null && args.get("embedded").equals("true")))
880                     {
881                         if (sp!=null) sp.updateLoadingStatus(99,it.businesslogic.ireport.util.I18n.getString("runningRMIServer","Running RMI server... "));
882                         IReportServerImpl.runServer();
883                         //IReportTCPServer.runServer();
884
}
885                     setCrosstabActive(null);
886                     it.businesslogic.ireport.util.I18n.setCurrentLocale( properties.getProperty("Language"), properties.getProperty("Country") );
887
888                     
889                     if (sp!=null) sp.setVisible(false);
890                     
891                     // Load previous docking state
892
//try {
893
// DockingManager.loadLayoutModel();
894
// DockingManager.restoreLayout();
895
//} catch(Exception ex) {
896
// ex.printStackTrace();
897
//}
898

899                     
900         
901             }}); // End later invocation
902
//} catch (InvocationTargetException ex) {
903
// ex.printStackTrace();
904
//} catch (InterruptedException ex) {
905
// ex.printStackTrace();
906
//} // End later invocation
907

908         } catch (Exception JavaDoc ex) {
909             ex.printStackTrace();
910         }
911         
912         // Other stuffs....
913
net.sf.jasperreports.engine.util.JRProperties.setProperty("net.sf.jasperreports.query.executer.factory.xmla-mdx",
914                     "net.sf.jasperreports.engine.query.JRXmlaQueryExecuterFactory");
915         
916         
917         this.getRootPane().updateUI();
918     }
919
920     /**
921      * Retrieve the first unused mane like untitled_report_XXX
922      */

923     public String JavaDoc getFirstNameFree() {
924         JInternalFrame[] frames = jMDIDesktopPane.getAllFrames();
925
926         for (int k=1; ; k++) {
927             String JavaDoc name = it.businesslogic.ireport.util.I18n.getString("untitledReport", "untitled_report_") + k;//I18N on April 28th 2006
928
boolean found = false;
929             for (int i=0; i<frames.length ; ++i) {
930                 if (frames[i] instanceof JReportFrame) {
931                     JReportFrame jrf = (JReportFrame)frames[i];
932                     if (jrf.getReport().getName().equalsIgnoreCase(name)) {
933                         found = true;
934                         break;
935                     }
936                 }
937             }
938             if (!found) {
939                 return name;
940             }
941         }
942     }
943
944
945     public void setFileListActivatedFrame(JReportFrame jrf) {
946         // remove the frame from the documnets list....
947
DefaultTreeModel dtm = (DefaultTreeModel)jTreeFiles.getModel();
948         Enumeration opened_entries = ((DefaultMutableTreeNode)dtm.getRoot()).children();
949         while (opened_entries.hasMoreElements()) {
950             DefaultMutableTreeNode documentEntryNode = (DefaultMutableTreeNode)opened_entries.nextElement();
951             if (documentEntryNode.getUserObject() instanceof DocumentTreeEntry) {
952                 DocumentTreeEntry dte = (DocumentTreeEntry)documentEntryNode.getUserObject();
953                 if (dte.getJrf() == jrf) {
954                     jTreeFiles.setSelectionPath(new TreePath(new Object JavaDoc[]
955                     {dtm.getRoot(), documentEntryNode}));
956                     jTreeFiles.updateUI();
957                     break;
958                 }
959             }
960
961         }
962     }
963
964     public void updateMenuWindowList() {
965         // Remove all menus...
966
java.awt.Component JavaDoc[] menus = this.jMenuWindow.getMenuComponents();
967         int i = 0;
968         for (int k = 0; k<menus.length ; ++k) {
969             if (menus[k] instanceof JRadioButtonMenuItemMDIFrame)
970             {
971                 this.jMenuWindow.remove((JMenuItem)menus[k]);
972                 buttonGroupFramesList.remove((JMenuItem)menus[k]);
973             }
974             /*&&
975             ((JRadioButtonMenuItemMDIFrame)menus[k]).getFrame() != null &&
976             ((JRadioButtonMenuItemMDIFrame)menus[k]).getFrame().isValid() &&
977             ((JRadioButtonMenuItemMDIFrame)menus[k]).getFrame().isVisible()) {
978                 JRadioButtonMenuItemMDIFrame menuItem = (JRadioButtonMenuItemMDIFrame)menus[k];
979                 menuItem.setText( (i+1) + ".*** " + menuItem.getFrame().getTitle() );
980                 menuItem.setMnemonic((int)(((i+1)+"").charAt(0)) );
981                 menuItem.setFont(new java.awt.Font("Tahoma", 0, 11));
982                 menuItem.setAccelerator( javax.swing.KeyStroke.getKeyStroke((int)(((i+1)+"").charAt(0)),java.awt.Event.META_MASK));
983                 menuItem.updateUI();
984                 i++;
985
986                 System.out.println("Menu "+ menuItem.getFrame().getTitle());
987             }
988             */

989         }
990
991         i=0;
992         JInternalFrame[] frames = jMDIDesktopPane.getAllFrames();
993         for (int k=0; k<frames.length; ++k)
994         {
995                 JRadioButtonMenuItemMDIFrame menuItem = new JRadioButtonMenuItemMDIFrame((JMDIFrame)frames[k],frames[k].getTitle());
996                 menuItem.setText( (i+1) + ". " + menuItem.getFrame().getTitle() );
997                 menuItem.setMnemonic((int)(((i+1)+"").charAt(0)) );
998                 menuItem.setAccelerator( javax.swing.KeyStroke.getKeyStroke((int)(((i+1)+"").charAt(0)),java.awt.Event.META_MASK));
999                 menuItem.updateUI();
1000                menuItem.setSelected(frames[i].isSelected());
1001                this.jMenuWindow.insert(menuItem, this.jMenuWindow.getMenuComponentCount());
1002                menuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1003                        public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1004                            jMenuWindowListActionPerformed(evt);
1005                        }
1006                    });
1007                buttonGroupFramesList.add(menuItem);
1008                i++;
1009        }
1010
1011    }
1012
1013
1014    public void jMenuWindowListActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1015        if (evt.getSource() != null &&
1016        evt.getSource() instanceof JRadioButtonMenuItemMDIFrame) {
1017            JRadioButtonMenuItemMDIFrame mdm = (JRadioButtonMenuItemMDIFrame)evt.getSource();
1018            try {
1019
1020                mdm.getFrame().setSelected(true);
1021            } catch (Exception JavaDoc ex)
1022            {}
1023        }
1024
1025    }
1026
1027    public void jMDIDesktopPaneInternalFrameActivated(InternalFrameActivatedEvent evt) {
1028        if (evt.getJMDIFrame() != null && evt.getAction() == InternalFrameActivatedEvent.CLOSED) {
1029            // remove the frame from the documnets list....
1030
DefaultTreeModel dtm = (DefaultTreeModel)jTreeFiles.getModel();
1031            Enumeration opened_entries = ((DefaultMutableTreeNode)dtm.getRoot()).children();
1032            while (opened_entries.hasMoreElements()) {
1033                DefaultMutableTreeNode documentEntryNode = (DefaultMutableTreeNode)opened_entries.nextElement();
1034                if (documentEntryNode.getUserObject() instanceof DocumentTreeEntry) {
1035                    DocumentTreeEntry dte = (DocumentTreeEntry)documentEntryNode.getUserObject();
1036                    if (dte.getJrf() == evt.getJMDIFrame()) {
1037                        ((DefaultMutableTreeNode)dtm.getRoot()).remove(documentEntryNode);
1038                        jTreeFiles.updateUI();
1039
1040                        break;
1041                    }
1042                }
1043
1044            }
1045            // Remove from window list...
1046
java.awt.Component JavaDoc[] menus = this.jMenuWindow.getMenuComponents();
1047            for (int k = menus.length-1; k>=0 ; --k) {
1048                if (menus[k] instanceof JRadioButtonMenuItemMDIFrame &&
1049                ((JRadioButtonMenuItemMDIFrame)menus[k]).getFrame() == evt.getJMDIFrame()) {
1050                    this.jMenuWindow.remove(menus[k]);
1051                }
1052            }
1053            updateMenuWindowList();
1054            return;
1055        }
1056
1057        if (evt.getJMDIFrame() == null) {
1058            this.setTitle(constTitle);
1059            setCrosstabActive( null);
1060            setActiveReportForm( null );
1061            updateMenuWindowList();
1062            return;
1063        }
1064
1065
1066        this.setTitle(constTitle + " ["+ evt.getJMDIFrame().getTitle() + "]");
1067        jMDIMenuBar.restoreButtonsPosition();
1068        //System.out.println("Value setted!");
1069
if (evt.getJMDIFrame() instanceof JReportFrame) {
1070
1071            JReportFrame jrf = (JReportFrame)evt.getJMDIFrame();
1072
1073            if (jrf.getSelectedCrosstabEditorPanel() != null)
1074            {
1075                this.jNumberComboBoxZoom.setValue(jrf.getSelectedCrosstabEditorPanel().getZoomFactor()*100);
1076            }
1077            else
1078            {
1079                this.jNumberComboBoxZoom.setValue(jrf.getZoomFactor()*100);
1080            }
1081
1082            // Set the fit to page value...
1083
setFileListActivatedFrame(jrf);
1084            //updateFitToPage(jrf);
1085

1086            // Enable all buttons and menus...
1087
setActiveReportForm( jrf );
1088            if (jrf.getSelectedCrosstabEditorPanel() != null)
1089            {
1090                setCrosstabActive(jrf.getSelectedCrosstabEditorPanel().getCrosstabElement());
1091            }
1092            else
1093            {
1094                setCrosstabActive( null);
1095            }
1096        }
1097        else {
1098            //System.out.println("Chiusetutte lengthfinestre!");
1099
setCrosstabActive( null);
1100            setActiveReportForm( null );
1101        }
1102    }
1103
1104    public void renewTitle(JReportFrame jrf)
1105    {
1106        String JavaDoc title = jrf.getReport().getName() + " "+
1107                jrf.getReport().getWidth()+"x"+jrf.getReport().getHeight()+" "+
1108                "(" + (jrf.getReport().getReportChanges()>0 ?"Modified" : "Unchanged") + ") " +
1109                jrf.getReport().getFilename()+(jrf.getReport().isReadOnly()?" (READ ONLY) ":"");
1110        this.setTitle(constTitle +
1111                " [" + title + "]");
1112    }
1113
1114    public void setActiveReportForm(JReportFrame jrf)
1115    {
1116        boolean enabled = true;
1117        if (jrf == null)
1118        {
1119            enabled = false;
1120        }
1121        else
1122        {
1123            renewTitle(jrf);
1124        }
1125        if(jrf != null && jrf.getReport().isReadOnly())
1126        {
1127            enabled = false;
1128        }
1129
1130
1131
1132        if (jrf != null)
1133        {
1134            java.awt.Component JavaDoc[] menus = this.jMenuWindow.getMenuComponents();
1135            for (int k = menus.length-1; k>=0 ; --k)
1136            {
1137                if (menus[k] instanceof JRadioButtonMenuItemMDIFrame &&
1138                        ((JRadioButtonMenuItemMDIFrame)menus[k]).getFrame() == jrf)
1139                {
1140                    ((JRadioButtonMenuItemMDIFrame)menus[k]).setSelected(true);
1141                }
1142            }
1143
1144        }
1145
1146        this.elementPropertiesDialog.setJReportFrame(jrf);
1147        this.valuesDialog.setJReportFrame(jrf);
1148        this.groupsDialog.setJReportFrame(jrf);
1149        this.bandsDialog.setJReportFrame(jrf);
1150        this.fontsDialog.setJReportFrame(jrf);
1151
1152        if (jrf == null) this.reportQueryDialog.setVisible(false);
1153        else this.reportQueryDialog.setSubDataset(jrf.getReport() );
1154
1155        this.libraryPanel.setJReportFrame(jrf);
1156        this.localeFilesDialog.setJReportFrame(jrf);
1157
1158        getDocumentStructurePanel().updateDocumentStructureTree( jrf);
1159
1160        updateUndoMenu(jrf);
1161        updateCutAndPasteMenu(jrf);
1162        // Toolbar...
1163
this.jButtonBands.setEnabled(enabled);
1164        this.jButtonDatabase.setEnabled(enabled);
1165        this.jMenuItemReportQuery2.setEnabled(enabled);
1166        this.jButtonParameters.setEnabled(enabled);
1167        this.jButtonGroups.setEnabled(enabled);
1168        this.jButtonCompiler.setEnabled(enabled);
1169        this.jButtonRun1.setEnabled(enabled);
1170        this.jButtonRun2.setEnabled(enabled);
1171        
1172        boolean frameOpened = false;
1173        if (jrf != null) frameOpened = true;
1174            
1175        jMenuItemSave.setEnabled(enabled);
1176        jMenuItemSaveAs.setEnabled(frameOpened);
1177        jMenuAdd.setEnabled(enabled);
1178        jMenuItemClose.setEnabled(frameOpened);
1179        jMenuItemCloseAll.setEnabled(frameOpened);
1180        jMenuItemCloseAllExceptThis.setEnabled(frameOpened);
1181        jMenuItemCloseAllExceptThisFromList.setEnabled(frameOpened);
1182        jMenuItemCloseAllFromList.setEnabled(frameOpened);
1183        jMenuItemCloseFromList.setEnabled(frameOpened);
1184        jMenuItemRevertToSaved.setEnabled(enabled);
1185        jMenuItemCompile.setEnabled(frameOpened);
1186        jMenuItemExecute.setEnabled(frameOpened);
1187        jMenuItemExecuteDB.setEnabled(frameOpened);
1188        jMenuWindow.setEnabled(frameOpened);
1189        jButtonLens1.setEnabled(frameOpened);
1190        jButtonLens2.setEnabled(frameOpened);
1191        jNumberComboBoxZoom.setEnabled(frameOpened);
1192        jMenuItemPrint.setEnabled(frameOpened);
1193        
1194        
1195        // Enable or disable all element in toolbars...
1196
for (int cc = 0; cc < jToolBarText.getComponentCount(); ++cc)
1197        {
1198            java.awt.Component JavaDoc component = jToolBarText.getComponentAtIndex(cc);
1199            if (component instanceof javax.swing.JButton JavaDoc)
1200            {
1201                ((javax.swing.JButton JavaDoc)component).setEnabled( enabled );
1202            }
1203            else if (component instanceof javax.swing.JComboBox JavaDoc)
1204            {
1205                ((javax.swing.JComboBox JavaDoc)component).setEnabled( enabled );
1206            }
1207            else if (component instanceof JBoxButton)
1208            {
1209                ((JBoxButton)component).setEnabled( enabled );
1210            }
1211        }
1212
1213        // Enable or disable all element in toolbars...
1214
for (int cc = 0; cc < jToolBarFormat.getComponentCount(); ++cc)
1215        {
1216            java.awt.Component JavaDoc component = jToolBarFormat.getComponentAtIndex(cc);
1217            if (component instanceof javax.swing.JButton JavaDoc)
1218            {
1219                ((javax.swing.JButton JavaDoc)component).setEnabled( enabled );
1220            }
1221            else if (component instanceof javax.swing.JComboBox JavaDoc)
1222            {
1223                ((javax.swing.JComboBox JavaDoc)component).setEnabled( enabled );
1224            }
1225        }
1226        /*
1227        this.jButtonAlignLeft.setEnabled(enabled);
1228        this.jButtonAlignCenter.setEnabled(enabled);
1229        this.jButtonAlignRight.setEnabled(enabled);
1230        this.jButtonAlignJustify.setEnabled(enabled);
1231         */

1232
1233        this.jToggleButtonEllipseTool.setEnabled(enabled);
1234        this.jToggleButtonImageTool.setEnabled(enabled);
1235        this.jToggleButtonLineTool.setEnabled(enabled);
1236
1237        this.jToggleButtonPointer.setEnabled(enabled);
1238       //this.jToggleButtonRectRoundTool.setEnabled(enabled);
1239
this.jToggleButtonRectTool.setEnabled(enabled);
1240        this.jButtonSave.setEnabled(enabled);
1241        this.jToggleButtonStaticTextTool.setEnabled(enabled);
1242        this.jToggleButtonFrameTool.setEnabled(enabled);
1243        this.jToggleButtonSubreportTool.setEnabled(enabled);
1244        this.jToggleButtonCrosstabTool.setEnabled(enabled);
1245        this.jToggleButtonChartTool.setEnabled(enabled);
1246        this.jToggleButtonBarcodeTool.setEnabled(enabled);
1247        this.jToggleButtonTextFieldTool.setEnabled(enabled);
1248        this.jMenuItemXMLSource.setEnabled(enabled);
1249        this.jCheckBoxMenuItemEMM.setEnabled(enabled);
1250        this.jCheckBoxMenuItemReportVirtualizer.setEnabled(enabled);
1251        this.jCheckBoxMenuItemIgnorePagination.setEnabled(enabled);
1252        this.jCheckBoxMenuItemGrid.setEnabled(enabled);
1253        this.jCheckBoxMenuItemSnapToGrid.setEnabled(enabled);
1254        this.jMenuAdd.setEnabled(enabled);
1255
1256        this.jMenuItemInsertPageBreak.setEnabled(enabled);
1257        this.jMenuItemBands.setEnabled(enabled);
1258        this.jMenuItemGroups.setEnabled(enabled);
1259        this.jMenuItemReportProperties.setEnabled(enabled);
1260        this.jMenuItemProperties.setEnabled(enabled);
1261        this.jMenuItemElementProperties.setEnabled(enabled);
1262        this.jMenuItemFields.setEnabled(enabled);
1263        this.jMenuItemAddGroup.setEnabled(enabled);
1264        this.jMenuItemVariables.setEnabled(enabled);
1265        this.jMenuItemSubDataset.setEnabled(enabled);
1266        this.jMenuItemSubDataset1.setEnabled(enabled);
1267        this.jMenuItemParameters.setEnabled(enabled);
1268        this.jMenuItemReportQuery.setEnabled(enabled);
1269        this.jMenuItemReportQuery2.setEnabled(enabled);
1270        this.jMenuItemFonts.setEnabled(enabled);
1271        this.jMenuItemStyles.setEnabled(enabled);
1272        this.jMenuItemScriptletEditor.setEnabled(enabled);
1273        //this.jMenuItemReportSeries.setEnabled(enabled);
1274
this.jMenuItemReportImports.setEnabled(enabled);
1275        this.jMenuInternationalization.setEnabled(enabled);
1276        this.jMenuItemRemoveMargins.setEnabled(enabled);
1277
1278        jMDIDesktopPane.setPreferredSize(new java.awt.Dimension JavaDoc(100,10));
1279        jMDIDesktopPane.setMinimumSize(new java.awt.Dimension JavaDoc(100,10));
1280        //jMDIDesktopPane.setPreferredSize(new Dimension(100,100));
1281
setActiveTool(this.jToggleButtonPointer);
1282        if (!enabled)
1283        {
1284            this.jToggleButtonPointer.setSelected(false);
1285        }
1286        if (jrf != null)
1287        {
1288            Report r = jrf.getReport();
1289            if( r.isModified() )
1290            {
1291                this.enableSaveSpecific();
1292                this.enableSaveAllSpecific();
1293                //end if report modified
1294
}
1295            else
1296            {
1297                this.disableSaveSpecific();
1298                if ( this.isSaveAllRequired() )
1299                {
1300                    this.enableSaveAllSpecific();
1301                }
1302                else
1303                {
1304                    this.disableSaveAllSpecific();
1305                }
1306                //end else report modified
1307
}
1308        }//end if jrf is null
1309

1310        fireReportFrameActivatedListenerReportFrameActivated( new ReportFrameActivatedEvent(this, jrf) );
1311
1312    }//end setActiveReportForm
1313

1314    public boolean isEMMActive()
1315    {
1316        return this.jCheckBoxMenuItemEMM.isSelected();
1317    }
1318
1319    public boolean isUseReportVirtualizer()
1320    {
1321        return this.jCheckBoxMenuItemReportVirtualizer.isSelected();
1322    }
1323    public boolean isIgnorePagination()
1324    {
1325        return this.jCheckBoxMenuItemIgnorePagination.isSelected();
1326    }
1327
1328    public void setActiveTool( int tool )
1329    {
1330        if (tool == 0)
1331            setActiveTool(this.jToggleButtonPointer);
1332    }
1333    private void setActiveTool( java.awt.Component JavaDoc tool )
1334    {
1335        try
1336        {
1337            this.jToggleButtonEllipseTool.setSelected( (tool ==this.jToggleButtonEllipseTool) );
1338            this.jToggleButtonImageTool.setSelected( (tool ==this.jToggleButtonImageTool) );
1339            this.jToggleButtonLineTool.setSelected( (tool ==this.jToggleButtonLineTool) );
1340            this.jToggleButtonPointer.setSelected( (tool ==this.jToggleButtonPointer) );
1341            //this.jToggleButtonRectRoundTool.setSelected( (tool ==this.jToggleButtonRectRoundTool) );
1342
this.jToggleButtonRectTool.setSelected( (tool ==this.jToggleButtonRectTool) );
1343            this.jToggleButtonStaticTextTool.setSelected( (tool ==this.jToggleButtonStaticTextTool) );
1344            this.jToggleButtonFrameTool.setSelected( (tool ==this.jToggleButtonFrameTool) );
1345            this.jToggleButtonSubreportTool.setSelected( (tool ==this.jToggleButtonSubreportTool) );
1346            this.jToggleButtonCrosstabTool.setSelected( (tool ==this.jToggleButtonCrosstabTool) );
1347            this.jToggleButtonChartTool.setSelected( (tool ==this.jToggleButtonChartTool) );
1348            this.jToggleButtonBarcodeTool.setSelected( (tool ==this.jToggleButtonBarcodeTool) );
1349            this.jToggleButtonTextFieldTool.setSelected( (tool ==this.jToggleButtonTextFieldTool) );
1350        }
1351        catch (Exception JavaDoc ex)
1352        {
1353            /* Do nothing */
1354        }
1355    }
1356
1357    // Robert says:
1358
// As Fit To Page is calculated every time is it called,
1359
// There is not need for this method
1360
// Giulio do you agree?
1361

1362    public void updateFitToPage(JReportFrame jrf)
1363    {
1364        int w = jrf.getReport().getWidth();
1365        double s = (jrf.getReportPanel().getWidth()-20)/(double)w;
1366        jNumberComboBoxZoom.addEntry("Fit to page", s*100);
1367    }
1368    /** This method is called from within the constructor to
1369     * initialize the form.
1370     * WARNING: Do NOT modify this code. The content of this method is
1371     * always regenerated by the Form Editor.
1372     */

1373    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
1374
private void initComponents() {
1375        buttonGroupExportType = new javax.swing.ButtonGroup JavaDoc();
1376        buttonGroupFramesList = new javax.swing.ButtonGroup JavaDoc();
1377        jPopupMenuThreads = new javax.swing.JPopupMenu JavaDoc();
1378        jMenuItemKill = new javax.swing.JMenuItem JavaDoc();
1379        jPopupMenuFiles = new javax.swing.JPopupMenu JavaDoc();
1380        jMenuItemSaveFromList = new javax.swing.JMenuItem JavaDoc();
1381        jMenuItemSaveAsFromList = new javax.swing.JMenuItem JavaDoc();
1382        jMenuItemSaveAllFromList = new javax.swing.JMenuItem JavaDoc();
1383        jSeparator24 = new javax.swing.JSeparator JavaDoc();
1384        jMenuItemCloseFromList = new javax.swing.JMenuItem JavaDoc();
1385        jMenuItemCloseAllFromList = new javax.swing.JMenuItem JavaDoc();
1386        jMenuItemCloseAllExceptThisFromList = new javax.swing.JMenuItem JavaDoc();
1387        jSeparator27 = new javax.swing.JSeparator JavaDoc();
1388        jMenuItemRevertToSavedFromList = new javax.swing.JMenuItem JavaDoc();
1389        jPanelFiles = new javax.swing.JPanel JavaDoc();
1390        jScrollPaneFiles = new javax.swing.JScrollPane JavaDoc();
1391        jTreeFiles = new javax.swing.JTree JavaDoc();
1392        jMDIDesktopPane = new it.businesslogic.ireport.gui.JMDIDesktopPane();
1393        jScrollProcesses = new javax.swing.JScrollPane JavaDoc();
1394        jListThreads = new javax.swing.JList JavaDoc();
1395        jPanel1 = new javax.swing.JPanel JavaDoc();
1396        jToolBarText = new javax.swing.JToolBar JavaDoc();
1397        jComboBoxFont = new javax.swing.JComboBox JavaDoc();
1398        jNumberComboBoxSize = new it.businesslogic.ireport.gui.JNumberComboBox();
1399        jButtonIncreaseSize = new javax.swing.JButton JavaDoc();
1400        jButtonDecreaseSize = new javax.swing.JButton JavaDoc();
1401        jButtonBold = new javax.swing.JButton JavaDoc();
1402        jButtonItalic = new javax.swing.JButton JavaDoc();
1403        jButtonUnderline = new javax.swing.JButton JavaDoc();
1404        jButtonStrikethrought = new javax.swing.JButton JavaDoc();
1405        jButtonAlignLeft = new javax.swing.JButton JavaDoc();
1406        jButtonAlignJustify = new javax.swing.JButton JavaDoc();
1407        jButtonAlignCenter = new javax.swing.JButton JavaDoc();
1408        jButtonAlignRight = new javax.swing.JButton JavaDoc();
1409        jButtonAlignTop = new javax.swing.JButton JavaDoc();
1410        jButtonAlignMiddle = new javax.swing.JButton JavaDoc();
1411        jButtonAlignBottom = new javax.swing.JButton JavaDoc();
1412        jToolBarConnections = jToolbarConnectionPanel.getToolBar();
1413        Filler1 = new javax.swing.JButton JavaDoc();
1414        jPanel2 = new javax.swing.JPanel JavaDoc();
1415        jToolBarFormat = jToolbarFormatPanel.getToolBar();
1416        Filler = new javax.swing.JButton JavaDoc();
1417        jPanelMaster = new javax.swing.JPanel JavaDoc();
1418        jToolBar1 = new javax.swing.JToolBar JavaDoc();
1419        jButtonNew = new javax.swing.JButton JavaDoc();
1420        jButtonWizard = new javax.swing.JButton JavaDoc();
1421        jButtonOpen = new javax.swing.JButton JavaDoc();
1422        jButtonSave = new javax.swing.JButton JavaDoc();
1423        jButtonSaveAll = new javax.swing.JButton JavaDoc();
1424        jSeparator22 = new javax.swing.JSeparator JavaDoc();
1425        jButtonCut = new javax.swing.JButton JavaDoc();
1426        jButtonCopy = new javax.swing.JButton JavaDoc();
1427        jButtonPaste = new javax.swing.JButton JavaDoc();
1428        jSeparator23 = new javax.swing.JSeparator JavaDoc();
1429        jToggleButtonPointer = new javax.swing.JToggleButton JavaDoc();
1430        jToggleButtonLineTool = new javax.swing.JToggleButton JavaDoc();
1431        jToggleButtonRectTool = new javax.swing.JToggleButton JavaDoc();
1432        jToggleButtonEllipseTool = new javax.swing.JToggleButton JavaDoc();
1433        jToggleButtonStaticTextTool = new javax.swing.JToggleButton JavaDoc();
1434        jToggleButtonTextFieldTool = new javax.swing.JToggleButton JavaDoc();
1435        jToggleButtonImageTool = new javax.swing.JToggleButton JavaDoc();
1436        jToggleButtonBarcodeTool = new javax.swing.JToggleButton JavaDoc();
1437        jToggleButtonFrameTool = new javax.swing.JToggleButton JavaDoc();
1438        jToggleButtonChartTool = new javax.swing.JToggleButton JavaDoc();
1439        jToggleButtonSubreportTool = new javax.swing.JToggleButton JavaDoc();
1440        jToggleButtonCrosstabTool = new javax.swing.JToggleButton JavaDoc();
1441        jSeparator30 = new javax.swing.JSeparator JavaDoc();
1442        jButtonParameters = new javax.swing.JButton JavaDoc();
1443        jButtonBands = new javax.swing.JButton JavaDoc();
1444        jButtonGroups = new javax.swing.JButton JavaDoc();
1445        jButtonDatabase = new javax.swing.JButton JavaDoc();
1446        jSeparator31 = new javax.swing.JSeparator JavaDoc();
1447        jPanelZoom = new javax.swing.JPanel JavaDoc();
1448        jNumberComboBoxZoom = new it.businesslogic.ireport.gui.JNumberComboBox();
1449        jButtonLens1 = new javax.swing.JButton JavaDoc();
1450        jButtonLens2 = new javax.swing.JButton JavaDoc();
1451        jSeparator32 = new javax.swing.JSeparator JavaDoc();
1452        jButtonCompiler = new javax.swing.JButton JavaDoc();
1453        jButtonRun1 = new javax.swing.JButton JavaDoc();
1454        jButtonRun2 = new javax.swing.JButton JavaDoc();
1455        jMDIMenuBar = new it.businesslogic.ireport.gui.JMDIMenuBar();
1456        jMenuFile = new javax.swing.JMenu JavaDoc();
1457        jMenuItemNewDocument = new javax.swing.JMenuItem JavaDoc();
1458        jMenuItemWizard = new javax.swing.JMenuItem JavaDoc();
1459        jMenuItemOpen = new javax.swing.JMenuItem JavaDoc();
1460        jMenuItemSave = new javax.swing.JMenuItem JavaDoc();
1461        jMenuItemSaveAs = new javax.swing.JMenuItem JavaDoc();
1462        jMenuItemSaveAll = new javax.swing.JMenuItem JavaDoc();
1463        jMenuItemClose = new javax.swing.JMenuItem JavaDoc();
1464        jMenuItemCloseAll = new javax.swing.JMenuItem JavaDoc();
1465        jMenuItemCloseAllExceptThis = new javax.swing.JMenuItem JavaDoc();
1466        jSeparator3 = new javax.swing.JSeparator JavaDoc();
1467        jMenuItemPrint = new javax.swing.JMenuItem JavaDoc();
1468        jMenuItemRevertToSaved = new javax.swing.JMenuItem JavaDoc();
1469        jSeparator16 = new javax.swing.JSeparator JavaDoc();
1470        jMenuRecentFiles = new javax.swing.JMenu JavaDoc();
1471        jSeparator15 = new javax.swing.JSeparator JavaDoc();
1472        jMenuItemQuit = new javax.swing.JMenuItem JavaDoc();
1473        jMenuEdit = new javax.swing.JMenu JavaDoc();
1474        jMenuItemUndo = new javax.swing.JMenuItem JavaDoc();
1475        jMenuItemRedo = new javax.swing.JMenuItem JavaDoc();
1476        jSeparator1 = new javax.swing.JSeparator JavaDoc();
1477        jMenuItemCut = new javax.swing.JMenuItem JavaDoc();
1478        jMenuItemCopy = new javax.swing.JMenuItem JavaDoc();
1479        jMenuItemPaste = new javax.swing.JMenuItem JavaDoc();
1480        jMenuItemDelete = new javax.swing.JMenuItem JavaDoc();
1481        jSeparator2 = new javax.swing.JSeparator JavaDoc();
1482        jMenuItemInsertPageBreak = new javax.swing.JMenuItem JavaDoc();
1483        jMenuAdd = new javax.swing.JMenu JavaDoc();
1484        jMenuItemLine = new javax.swing.JMenuItem JavaDoc();
1485        jMenuItemRectangle = new javax.swing.JMenuItem JavaDoc();
1486        jMenuItemRoundRectangle = new javax.swing.JMenuItem JavaDoc();
1487        jMenuItemEllipse = new javax.swing.JMenuItem JavaDoc();
1488        jMenuItemImage = new javax.swing.JMenuItem JavaDoc();
1489        jMenuItemStaticText = new javax.swing.JMenuItem JavaDoc();
1490        jMenuItemTextField = new javax.swing.JMenuItem JavaDoc();
1491        jMenuItemChart = new javax.swing.JMenuItem JavaDoc();
1492        jMenuItemSubreport = new javax.swing.JMenuItem JavaDoc();
1493        jMenuItemAddGroup = new javax.swing.JMenuItem JavaDoc();
1494        jMenuItemElementProperties = new javax.swing.JMenuItem JavaDoc();
1495        jMenuItemXMLSource = new javax.swing.JMenuItem JavaDoc();
1496        jMenuInternationalization = new javax.swing.JMenu JavaDoc();
1497        jMenuLocaleFiles = new javax.swing.JMenuItem JavaDoc();
1498        jSeparator25 = new javax.swing.JSeparator JavaDoc();
1499        jMenuItemReportProperties = new javax.swing.JMenuItem JavaDoc();
1500        jMenuItemProperties = new javax.swing.JMenuItem JavaDoc();
1501        jMenuItemReportImports = new javax.swing.JMenuItem JavaDoc();
1502        jMenuItemScriptletEditor = new javax.swing.JMenuItem JavaDoc();
1503        jSeparator26 = new javax.swing.JSeparator JavaDoc();
1504        jMenuItemReportQuery = new javax.swing.JMenuItem JavaDoc();
1505        jMenuItemSubDataset = new javax.swing.JMenuItem JavaDoc();
1506        jSeparator28 = new javax.swing.JSeparator JavaDoc();
1507        jMenuItemRemoveMargins = new javax.swing.JMenuItem JavaDoc();
1508        jMenuView = new javax.swing.JMenu JavaDoc();
1509        jCheckBoxMenuItemGrid = new javax.swing.JCheckBoxMenuItem JavaDoc();
1510        jSeparator4 = new javax.swing.JSeparator JavaDoc();
1511        jMenuPanels = new javax.swing.JMenu JavaDoc();
1512        jCheckBoxMenuItemExplorer = new javax.swing.JCheckBoxMenuItem JavaDoc();
1513        jCheckBoxMenuItemDocumentStructure = new javax.swing.JCheckBoxMenuItem JavaDoc();
1514        jCheckBoxMenuItemElementProperties = new javax.swing.JCheckBoxMenuItem JavaDoc();
1515        jCheckBoxMenuItemLibrary = new javax.swing.JCheckBoxMenuItem JavaDoc();
1516        jCheckBoxMenuItemStylesLibrary = new javax.swing.JCheckBoxMenuItem JavaDoc();
1517        jCheckBoxMenuItemOutput = new javax.swing.JCheckBoxMenuItem JavaDoc();
1518        jCheckBoxMenuItemThreadList = new javax.swing.JCheckBoxMenuItem JavaDoc();
1519        jMenuToolBars = new javax.swing.JMenu JavaDoc();
1520        jCheckBoxMenuItemTextFormatting = new javax.swing.JCheckBoxMenuItem JavaDoc();
1521        jCheckBoxMenuItemElementsFormatting = new javax.swing.JCheckBoxMenuItem JavaDoc();
1522        jSeparator12 = new javax.swing.JSeparator JavaDoc();
1523        jMenuItemFields = new javax.swing.JMenuItem JavaDoc();
1524        jMenuItemVariables = new javax.swing.JMenuItem JavaDoc();
1525        jMenuItemParameters = new javax.swing.JMenuItem JavaDoc();
1526        jSeparator6 = new javax.swing.JSeparator JavaDoc();
1527        jMenuItemBands = new javax.swing.JMenuItem JavaDoc();
1528        jMenuItemGroups = new javax.swing.JMenuItem JavaDoc();
1529        jMenuFormat = new javax.swing.JMenu JavaDoc();
1530        jMenuItemStyles = new javax.swing.JMenuItem JavaDoc();
1531        jMenuItemFonts = new javax.swing.JMenuItem JavaDoc();
1532        jSeparator29 = new javax.swing.JSeparator JavaDoc();
1533        jMenuAlign = new javax.swing.JMenu JavaDoc();
1534        jMenuItemAlignLeft = new javax.swing.JMenuItem JavaDoc();
1535        jMenuItemAlignRight = new javax.swing.JMenuItem JavaDoc();
1536        jMenuItemAlignTop = new javax.swing.JMenuItem JavaDoc();
1537        jMenuItemAlignBottom = new javax.swing.JMenuItem JavaDoc();
1538        jSeparator19 = new javax.swing.JSeparator JavaDoc();
1539        jMenuItemAlignVerticalAxis = new javax.swing.JMenuItem JavaDoc();
1540        jMenuItemAlignHorizontalAxis = new javax.swing.JMenuItem JavaDoc();
1541        jSeparator20 = new javax.swing.JSeparator JavaDoc();
1542        jMenuItemAlignToBandTop = new javax.swing.JMenuItem JavaDoc();
1543        jMenuItemAlignToBandBottom = new javax.swing.JMenuItem JavaDoc();
1544        jMenuSize = new javax.swing.JMenu JavaDoc();
1545        jMenuItemSameWidth = new javax.swing.JMenuItem JavaDoc();
1546        jMenuItemSameWidthMax = new javax.swing.JMenuItem JavaDoc();
1547        jMenuItemSameWidthMin = new javax.swing.JMenuItem JavaDoc();
1548        jSeparator17 = new javax.swing.JSeparator JavaDoc();
1549        jMenuItemSameHeight = new javax.swing.JMenuItem JavaDoc();
1550        jMenuItemSameHeightMin = new javax.swing.JMenuItem JavaDoc();
1551        jMenuItemSameHeightMax = new javax.swing.JMenuItem JavaDoc();
1552        jSeparator18 = new javax.swing.JSeparator JavaDoc();
1553        jMenuItemSameSize = new javax.swing.JMenuItem JavaDoc();
1554        jMenuPosition = new javax.swing.JMenu JavaDoc();
1555        jMenuItemCenterH = new javax.swing.JMenuItem JavaDoc();
1556        jMenuItemCenterV = new javax.swing.JMenuItem JavaDoc();
1557        jMenuItemCenterInBand = new javax.swing.JMenuItem JavaDoc();
1558        jMenuItemCenterBackground = new javax.swing.JMenuItem JavaDoc();
1559        jMenuItemJoinLeft = new javax.swing.JMenuItem JavaDoc();
1560        jMenuItemJoinRight = new javax.swing.JMenuItem JavaDoc();
1561        jMenuItemLeftMargin = new javax.swing.JMenuItem JavaDoc();
1562        jMenuItemRightMargin = new javax.swing.JMenuItem JavaDoc();
1563        jSeparator5 = new javax.swing.JSeparator JavaDoc();
1564        jMenuHSpacing = new javax.swing.JMenu JavaDoc();
1565        jMenuItemHSMakeEqual = new javax.swing.JMenuItem JavaDoc();
1566        jMenuItemHSIncrease = new javax.swing.JMenuItem JavaDoc();
1567        jMenuItemHSDecrease = new javax.swing.JMenuItem JavaDoc();
1568        jMenuItemHSRemove = new javax.swing.JMenuItem JavaDoc();
1569        jMenuVSpacing = new javax.swing.JMenu JavaDoc();
1570        jMenuItemVSMakeEqual = new javax.swing.JMenuItem JavaDoc();
1571        jMenuItemVSIncrease = new javax.swing.JMenuItem JavaDoc();
1572        jMenuItemVSDecrease = new javax.swing.JMenuItem JavaDoc();
1573        jMenuItemVSRemove = new javax.swing.JMenuItem JavaDoc();
1574        jMenuItemOrganize = new javax.swing.JMenuItem JavaDoc();
1575        jSeparator8 = new javax.swing.JSeparator JavaDoc();
1576        jMenuItemBringToFront = new javax.swing.JMenuItem JavaDoc();
1577        jMenuItemSendToBack = new javax.swing.JMenuItem JavaDoc();
1578        jMenuDatabase = new javax.swing.JMenu JavaDoc();
1579        jMenuItemConnections = new javax.swing.JMenuItem JavaDoc();
1580        jMenuItemActiveConnection = new javax.swing.JMenuItem JavaDoc();
1581        jSeparator9 = new javax.swing.JSeparator JavaDoc();
1582        jMenuItemReportQuery2 = new javax.swing.JMenuItem JavaDoc();
1583        jMenuItemSubDataset1 = new javax.swing.JMenuItem JavaDoc();
1584        jMenuBuild = new javax.swing.JMenu JavaDoc();
1585        jMenuItemCompile = new javax.swing.JMenuItem JavaDoc();
1586        jSeparator10 = new javax.swing.JSeparator JavaDoc();
1587        jMenuItemExecute = new javax.swing.JMenuItem JavaDoc();
1588        jMenuItemExecuteDB = new javax.swing.JMenuItem JavaDoc();
1589        jSeparator33 = new javax.swing.JSeparator JavaDoc();
1590        jMenuItemCreateFromTemplate = new javax.swing.JMenuItem JavaDoc();
1591        jSeparator11 = new javax.swing.JSeparator JavaDoc();
1592        jRadioButtonMenuItemPreviewPDF = new javax.swing.JRadioButtonMenuItem JavaDoc();
1593        jRadioButtonMenuItemPreviewHTML = new javax.swing.JRadioButtonMenuItem JavaDoc();
1594        jRadioButtonMenuItemPreviewJAVA = new javax.swing.JRadioButtonMenuItem JavaDoc();
1595        jRadioButtonMenuItemPreviewXLS = new javax.swing.JRadioButtonMenuItem JavaDoc();
1596        jRadioButtonMenuItemPreviewXLS2 = new javax.swing.JRadioButtonMenuItem JavaDoc();
1597        jRadioButtonMenuItemPreviewCSV = new javax.swing.JRadioButtonMenuItem JavaDoc();
1598        jRadioButtonMenuItemPreviewTXT = new javax.swing.JRadioButtonMenuItem JavaDoc();
1599        jRadioButtonMenuItemPreviewTXTJR = new javax.swing.JRadioButtonMenuItem JavaDoc();
1600        jRadioButtonMenuItemPreviewRTF = new javax.swing.JRadioButtonMenuItem JavaDoc();
1601        jRadioButtonMenuItemPreviewInternalViewer = new javax.swing.JRadioButtonMenuItem JavaDoc();
1602        jSeparator14 = new javax.swing.JSeparator JavaDoc();
1603        jMenuItemActiveConnection1 = new javax.swing.JMenuItem JavaDoc();
1604        jMenuItemReportLocale = new javax.swing.JMenuItem JavaDoc();
1605        jMenuItemReportTimeZone = new javax.swing.JMenuItem JavaDoc();
1606        jCheckBoxMenuItemIgnorePagination = new javax.swing.JCheckBoxMenuItem JavaDoc();
1607        jMenuItemMaxRecords = new javax.swing.JMenuItem JavaDoc();
1608        jCheckBoxMenuItemReportVirtualizer = new javax.swing.JCheckBoxMenuItem JavaDoc();
1609        jMenuTools = new javax.swing.JMenu JavaDoc();
1610        jCheckBoxMenuItemSnapToGrid = new javax.swing.JCheckBoxMenuItem JavaDoc();
1611        jCheckBoxMenuItemEMM = new javax.swing.JCheckBoxMenuItem JavaDoc();
1612        jSeparator13 = new javax.swing.JSeparator JavaDoc();
1613        jMenuItemOptions = new javax.swing.JMenuItem JavaDoc();
1614        jMenuItemCompatibility = new javax.swing.JMenuItem JavaDoc();
1615        jMenuItemClasspath = new javax.swing.JMenuItem JavaDoc();
1616        jMenuItemFontspath = new javax.swing.JMenuItem JavaDoc();
1617        jMenuItemReloadFonts = new javax.swing.JMenuItem JavaDoc();
1618        jMenuItemExpressions = new javax.swing.JMenuItem JavaDoc();
1619        jMenuItemExportOptions = new javax.swing.JMenuItem JavaDoc();
1620        jMenuItemQueryExecuters = new javax.swing.JMenuItem JavaDoc();
1621        jSeparator7 = new javax.swing.JSeparator JavaDoc();
1622        jMenuItemPluginConfig = new javax.swing.JMenuItem JavaDoc();
1623        jMenuPlugins = new javax.swing.JMenu JavaDoc();
1624        jMenuWindow = new javax.swing.JMenu JavaDoc();
1625        jMenuItemCascade = new javax.swing.JMenuItem JavaDoc();
1626        jMenuItemTileHorizontal = new javax.swing.JMenuItem JavaDoc();
1627        jMenuItemTileVertical = new javax.swing.JMenuItem JavaDoc();
1628        jMenuItemtileAnodine = new javax.swing.JMenuItem JavaDoc();
1629        jMenuItemNextWin = new javax.swing.JMenuItem JavaDoc();
1630        jMenuItemPrevWin = new javax.swing.JMenuItem JavaDoc();
1631        jMenuItemRightSide = new javax.swing.JMenuItem JavaDoc();
1632        jSeparator21 = new javax.swing.JSeparator JavaDoc();
1633        jMenuHelp = new javax.swing.JMenu JavaDoc();
1634        jMenuItemHomePage = new javax.swing.JMenuItem JavaDoc();
1635        jMenuItemHelp = new javax.swing.JMenuItem JavaDoc();
1636        jMenuItemForum = new javax.swing.JMenuItem JavaDoc();
1637        jMenuItemAbout = new javax.swing.JMenuItem JavaDoc();
1638
1639        jMenuItemKill.setText("Kill this thread");
1640        jMenuItemKill.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1641            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1642                jMenuItemKillActionPerformed(evt);
1643            }
1644        });
1645
1646        jPopupMenuThreads.add(jMenuItemKill);
1647
1648        jMenuItemSaveFromList.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/save.png")));
1649        jMenuItemSaveFromList.setMnemonic('s');
1650        jMenuItemSaveFromList.setText("Save");
1651        jMenuItemSaveFromList.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1652            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1653                jMenuItemSaveFromListActionPerformed(evt);
1654            }
1655        });
1656
1657        jPopupMenuFiles.add(jMenuItemSaveFromList);
1658
1659        jMenuItemSaveAsFromList.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/save.png")));
1660        jMenuItemSaveAsFromList.setText("Save as...");
1661        jMenuItemSaveAsFromList.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1662            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1663                jMenuItemSaveAsFromListActionPerformed(evt);
1664            }
1665        });
1666
1667        jPopupMenuFiles.add(jMenuItemSaveAsFromList);
1668
1669        jMenuItemSaveAllFromList.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/saveall.png")));
1670        jMenuItemSaveAllFromList.setText("Save all");
1671        jMenuItemSaveAllFromList.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1672            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1673                jMenuItemSaveAllFromListActionPerformed(evt);
1674            }
1675        });
1676
1677        jPopupMenuFiles.add(jMenuItemSaveAllFromList);
1678
1679        jPopupMenuFiles.add(jSeparator24);
1680
1681        jMenuItemCloseFromList.setText("Close");
1682        jMenuItemCloseFromList.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1683            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1684                jMenuItemCloseFromListActionPerformed(evt);
1685            }
1686        });
1687
1688        jPopupMenuFiles.add(jMenuItemCloseFromList);
1689
1690        jMenuItemCloseAllFromList.setText("Close all");
1691        jMenuItemCloseAllFromList.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1692            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1693                jMenuItemCloseAllFromListActionPerformed(evt);
1694            }
1695        });
1696
1697        jPopupMenuFiles.add(jMenuItemCloseAllFromList);
1698
1699        jMenuItemCloseAllExceptThisFromList.setText("Close all except this");
1700        jMenuItemCloseAllExceptThisFromList.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1701            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1702                jMenuItemCloseAllExceptThisFromListActionPerformed(evt);
1703            }
1704        });
1705
1706        jPopupMenuFiles.add(jMenuItemCloseAllExceptThisFromList);
1707
1708        jPopupMenuFiles.add(jSeparator27);
1709
1710        jMenuItemRevertToSavedFromList.setText("Revert to saved");
1711        jMenuItemRevertToSavedFromList.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1712            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1713                jMenuItemRevertToSavedFromListActionPerformed(evt);
1714            }
1715        });
1716
1717        jPopupMenuFiles.add(jMenuItemRevertToSavedFromList);
1718
1719        jPanelFiles.setLayout(new java.awt.BorderLayout JavaDoc());
1720
1721        jPanelFiles.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
1722        jScrollPaneFiles.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
1723        jScrollPaneFiles.setMinimumSize(new java.awt.Dimension JavaDoc(0, 0));
1724        jScrollPaneFiles.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
1725            public void mousePressed(java.awt.event.MouseEvent JavaDoc evt) {
1726                jScrollPaneFilesMousePressed(evt);
1727            }
1728        });
1729
1730        jTreeFiles.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener JavaDoc() {
1731            public void valueChanged(javax.swing.event.TreeSelectionEvent JavaDoc evt) {
1732                jTreeFilesValueChanged(evt);
1733            }
1734        });
1735        jTreeFiles.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
1736            public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
1737                jTreeFilesMouseClicked(evt);
1738            }
1739            public void mousePressed(java.awt.event.MouseEvent JavaDoc evt) {
1740                jTreeFilesMousePressed(evt);
1741            }
1742        });
1743
1744        jScrollPaneFiles.setViewportView(jTreeFiles);
1745
1746        jPanelFiles.add(jScrollPaneFiles, java.awt.BorderLayout.CENTER);
1747
1748        jListThreads.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
1749        jListThreads.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
1750            public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
1751                jListThreadsMouseClicked(evt);
1752            }
1753        });
1754
1755        jScrollProcesses.setViewportView(jListThreads);
1756
1757        setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
1758        setIconImage(getIconImage());
1759        addWindowStateListener(new java.awt.event.WindowStateListener JavaDoc() {
1760            public void windowStateChanged(java.awt.event.WindowEvent JavaDoc evt) {
1761                formWindowStateChanged(evt);
1762            }
1763        });
1764        addWindowListener(new java.awt.event.WindowAdapter JavaDoc() {
1765            public void windowActivated(java.awt.event.WindowEvent JavaDoc evt) {
1766                formWindowActivated(evt);
1767            }
1768            public void windowClosing(java.awt.event.WindowEvent JavaDoc evt) {
1769                exitForm(evt);
1770            }
1771            public void windowOpened(java.awt.event.WindowEvent JavaDoc evt) {
1772                formWindowOpened(evt);
1773            }
1774        });
1775
1776        jPanel1.setLayout(new java.awt.BorderLayout JavaDoc());
1777
1778        jToolBarText.setMinimumSize(new java.awt.Dimension JavaDoc(26, 26));
1779        jToolBarText.setPreferredSize(new java.awt.Dimension JavaDoc(26, 26));
1780        jComboBoxFont.setFont(new java.awt.Font JavaDoc("Arial", 0, 11));
1781        jComboBoxFont.setEnabled(false);
1782        jComboBoxFont.setMaximumSize(new java.awt.Dimension JavaDoc(200, 32767));
1783        jComboBoxFont.setPreferredSize(new java.awt.Dimension JavaDoc(200, 20));
1784        jComboBoxFont.addItemListener(new java.awt.event.ItemListener JavaDoc() {
1785            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
1786                jComboBoxFontItemStateChanged(evt);
1787            }
1788        });
1789
1790        jToolBarText.add(jComboBoxFont);
1791
1792        jNumberComboBoxSize.setEnabled(false);
1793        jNumberComboBoxSize.setMaximumSize(new java.awt.Dimension JavaDoc(60, 32767));
1794        jNumberComboBoxSize.setMinimumSize(new java.awt.Dimension JavaDoc(40, 22));
1795        jNumberComboBoxSize.setPreferredSize(new java.awt.Dimension JavaDoc(40, 22));
1796        jNumberComboBoxSize.addItemListener(new java.awt.event.ItemListener JavaDoc() {
1797            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
1798                jNumberComboBoxSizeItemStateChanged(evt);
1799            }
1800        });
1801        jNumberComboBoxSize.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1802            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1803                jNumberComboBoxSizeActionPerformed(evt);
1804            }
1805        });
1806
1807        jToolBarText.add(jNumberComboBoxSize);
1808
1809        jButtonIncreaseSize.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/increase_font_size.png")));
1810        jButtonIncreaseSize.setBorder(null);
1811        jButtonIncreaseSize.setBorderPainted(false);
1812        jButtonIncreaseSize.setEnabled(false);
1813        jButtonIncreaseSize.setFocusPainted(false);
1814        jButtonIncreaseSize.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1815        jButtonIncreaseSize.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1816        jButtonIncreaseSize.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1817        jButtonIncreaseSize.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1818            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1819                jButtonIncreaseSizeActionPerformed(evt);
1820            }
1821        });
1822
1823        jToolBarText.add(jButtonIncreaseSize);
1824
1825        jButtonDecreaseSize.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/decrease_font_size.png")));
1826        jButtonDecreaseSize.setBorder(null);
1827        jButtonDecreaseSize.setBorderPainted(false);
1828        jButtonDecreaseSize.setEnabled(false);
1829        jButtonDecreaseSize.setFocusPainted(false);
1830        jButtonDecreaseSize.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1831        jButtonDecreaseSize.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1832        jButtonDecreaseSize.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1833        jButtonDecreaseSize.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1834            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1835                jButtonDecreaseSizeActionPerformed(evt);
1836            }
1837        });
1838
1839        jToolBarText.add(jButtonDecreaseSize);
1840
1841        jToolBarText.addSeparator();
1842
1843        jButtonBold.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/bold.png")));
1844        jButtonBold.setBorder(null);
1845        jButtonBold.setBorderPainted(false);
1846        jButtonBold.setEnabled(false);
1847        jButtonBold.setFocusPainted(false);
1848        jButtonBold.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1849        jButtonBold.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1850        jButtonBold.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1851        jButtonBold.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1852            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1853                jButtonBoldActionPerformed(evt);
1854            }
1855        });
1856
1857        jToolBarText.add(jButtonBold);
1858
1859        jButtonItalic.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/italic.png")));
1860        jButtonItalic.setBorder(null);
1861        jButtonItalic.setBorderPainted(false);
1862        jButtonItalic.setEnabled(false);
1863        jButtonItalic.setFocusPainted(false);
1864        jButtonItalic.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1865        jButtonItalic.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1866        jButtonItalic.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1867        jButtonItalic.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1868            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1869                jButtonItalicActionPerformed(evt);
1870            }
1871        });
1872
1873        jToolBarText.add(jButtonItalic);
1874
1875        jButtonUnderline.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/underline.png")));
1876        jButtonUnderline.setBorder(null);
1877        jButtonUnderline.setBorderPainted(false);
1878        jButtonUnderline.setEnabled(false);
1879        jButtonUnderline.setFocusPainted(false);
1880        jButtonUnderline.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1881        jButtonUnderline.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1882        jButtonUnderline.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1883        jButtonUnderline.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1884            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1885                jButtonUnderlineActionPerformed(evt);
1886            }
1887        });
1888
1889        jToolBarText.add(jButtonUnderline);
1890
1891        jButtonStrikethrought.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/strikethrought.png")));
1892        jButtonStrikethrought.setBorder(null);
1893        jButtonStrikethrought.setBorderPainted(false);
1894        jButtonStrikethrought.setEnabled(false);
1895        jButtonStrikethrought.setFocusPainted(false);
1896        jButtonStrikethrought.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1897        jButtonStrikethrought.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1898        jButtonStrikethrought.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1899        jButtonStrikethrought.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1900            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1901                jButtonStrikethroughtActionPerformed(evt);
1902            }
1903        });
1904
1905        jToolBarText.add(jButtonStrikethrought);
1906
1907        jButtonAlignLeft.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/align_left.png")));
1908        jButtonAlignLeft.setBorder(null);
1909        jButtonAlignLeft.setBorderPainted(false);
1910        jButtonAlignLeft.setEnabled(false);
1911        jButtonAlignLeft.setFocusPainted(false);
1912        jButtonAlignLeft.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1913        jButtonAlignLeft.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1914        jButtonAlignLeft.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1915        jButtonAlignLeft.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1916            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1917                jButtonAlignLeftActionPerformed(evt);
1918            }
1919        });
1920
1921        jToolBarText.add(jButtonAlignLeft);
1922
1923        jButtonAlignJustify.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/align_justified.png")));
1924        jButtonAlignJustify.setBorder(null);
1925        jButtonAlignJustify.setBorderPainted(false);
1926        jButtonAlignJustify.setEnabled(false);
1927        jButtonAlignJustify.setFocusPainted(false);
1928        jButtonAlignJustify.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1929        jButtonAlignJustify.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1930        jButtonAlignJustify.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1931        jButtonAlignJustify.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1932            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1933                jButtonAlignJustifyActionPerformed(evt);
1934            }
1935        });
1936
1937        jToolBarText.add(jButtonAlignJustify);
1938
1939        jButtonAlignCenter.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/align_center.png")));
1940        jButtonAlignCenter.setBorder(null);
1941        jButtonAlignCenter.setBorderPainted(false);
1942        jButtonAlignCenter.setEnabled(false);
1943        jButtonAlignCenter.setFocusPainted(false);
1944        jButtonAlignCenter.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1945        jButtonAlignCenter.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1946        jButtonAlignCenter.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1947        jButtonAlignCenter.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1948            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1949                jButtonAlignCenterActionPerformed(evt);
1950            }
1951        });
1952
1953        jToolBarText.add(jButtonAlignCenter);
1954
1955        jButtonAlignRight.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/align_right.png")));
1956        jButtonAlignRight.setBorder(null);
1957        jButtonAlignRight.setBorderPainted(false);
1958        jButtonAlignRight.setEnabled(false);
1959        jButtonAlignRight.setFocusPainted(false);
1960        jButtonAlignRight.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1961        jButtonAlignRight.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1962        jButtonAlignRight.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1963        jButtonAlignRight.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1964            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1965                jButtonAlignRightActionPerformed(evt);
1966            }
1967        });
1968
1969        jToolBarText.add(jButtonAlignRight);
1970
1971        jToolBarText.addSeparator();
1972        jButtonAlignTop.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/align_top.png")));
1973        jButtonAlignTop.setBorder(null);
1974        jButtonAlignTop.setBorderPainted(false);
1975        jButtonAlignTop.setEnabled(false);
1976        jButtonAlignTop.setFocusPainted(false);
1977        jButtonAlignTop.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1978        jButtonAlignTop.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1979        jButtonAlignTop.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1980        jButtonAlignTop.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1981            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1982                jButtonAlignTopActionPerformed(evt);
1983            }
1984        });
1985
1986        jToolBarText.add(jButtonAlignTop);
1987
1988        jButtonAlignMiddle.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/align_middle.png")));
1989        jButtonAlignMiddle.setBorder(null);
1990        jButtonAlignMiddle.setBorderPainted(false);
1991        jButtonAlignMiddle.setEnabled(false);
1992        jButtonAlignMiddle.setFocusPainted(false);
1993        jButtonAlignMiddle.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
1994        jButtonAlignMiddle.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
1995        jButtonAlignMiddle.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
1996        jButtonAlignMiddle.addActionListener(new java.awt.event.ActionListener JavaDoc() {
1997            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
1998                jButtonAlignMiddleActionPerformed(evt);
1999            }
2000        });
2001
2002        jToolBarText.add(jButtonAlignMiddle);
2003
2004        jButtonAlignBottom.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/text/align_bottom.png")));
2005        jButtonAlignBottom.setBorder(null);
2006        jButtonAlignBottom.setBorderPainted(false);
2007        jButtonAlignBottom.setEnabled(false);
2008        jButtonAlignBottom.setFocusPainted(false);
2009        jButtonAlignBottom.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
2010        jButtonAlignBottom.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2011        jButtonAlignBottom.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2012        jButtonAlignBottom.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2013            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2014                jButtonAlignBottomActionPerformed(evt);
2015            }
2016        });
2017
2018        jToolBarText.add(jButtonAlignBottom);
2019
2020        Filler1.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
2021        Filler1.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/null.gif")));
2022        Filler1.setBorderPainted(false);
2023        Filler1.setContentAreaFilled(false);
2024        Filler1.setEnabled(false);
2025        Filler1.setFocusPainted(false);
2026        Filler1.setFocusable(false);
2027        Filler1.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
2028        Filler1.setMaximumSize(new java.awt.Dimension JavaDoc(0, 22));
2029        Filler1.setMinimumSize(new java.awt.Dimension JavaDoc(0, 22));
2030        Filler1.setPreferredSize(new java.awt.Dimension JavaDoc(0, 22));
2031        jToolBarConnections.add(Filler1);
2032
2033        jToolBarText.add(jToolBarConnections);
2034
2035        jPanel1.add(jToolBarText, java.awt.BorderLayout.NORTH);
2036
2037        jPanel2.setLayout(new java.awt.BorderLayout JavaDoc());
2038
2039        Filler.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
2040        Filler.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/null.gif")));
2041        Filler.setBorderPainted(false);
2042        Filler.setContentAreaFilled(false);
2043        Filler.setEnabled(false);
2044        Filler.setFocusPainted(false);
2045        Filler.setFocusable(false);
2046        Filler.setMargin(new java.awt.Insets JavaDoc(0, 0, 0, 0));
2047        Filler.setMaximumSize(new java.awt.Dimension JavaDoc(0, 22));
2048        Filler.setMinimumSize(new java.awt.Dimension JavaDoc(0, 22));
2049        Filler.setPreferredSize(new java.awt.Dimension JavaDoc(0, 22));
2050        jToolBarFormat.add(Filler);
2051
2052        jPanel2.add(jToolBarFormat, java.awt.BorderLayout.NORTH);
2053
2054        jPanelMaster.setLayout(new java.awt.BorderLayout JavaDoc());
2055
2056        jPanelMaster.setMinimumSize(new java.awt.Dimension JavaDoc(750, 100));
2057        jPanelMaster.setPreferredSize(new java.awt.Dimension JavaDoc(750, 550));
2058        jPanelMaster.addMouseListener(new java.awt.event.MouseAdapter JavaDoc() {
2059            public void mouseClicked(java.awt.event.MouseEvent JavaDoc evt) {
2060                jPanelMasterMouseClicked(evt);
2061            }
2062        });
2063
2064        jPanel2.add(jPanelMaster, java.awt.BorderLayout.CENTER);
2065
2066        jPanel1.add(jPanel2, java.awt.BorderLayout.CENTER);
2067
2068        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
2069
2070        jButtonNew.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/new.png")));
2071        jButtonNew.setToolTipText("New report");
2072        jButtonNew.setBorder(null);
2073        jButtonNew.setBorderPainted(false);
2074        jButtonNew.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2075        jButtonNew.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2076        jButtonNew.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2077        jButtonNew.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2078            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2079                jButtonNewActionPerformed(evt);
2080            }
2081        });
2082
2083        jToolBar1.add(jButtonNew);
2084
2085        jButtonWizard.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/wizard.png")));
2086        jButtonWizard.setToolTipText("New report");
2087        jButtonWizard.setBorder(null);
2088        jButtonWizard.setBorderPainted(false);
2089        jButtonWizard.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2090        jButtonWizard.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2091        jButtonWizard.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2092        jButtonWizard.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2093            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2094                jButtonNewActionPerformed1(evt);
2095            }
2096        });
2097
2098        jToolBar1.add(jButtonWizard);
2099
2100        jButtonOpen.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/open.png")));
2101        jButtonOpen.setToolTipText("Open report");
2102        jButtonOpen.setBorder(null);
2103        jButtonOpen.setBorderPainted(false);
2104        jButtonOpen.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2105        jButtonOpen.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2106        jButtonOpen.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2107        jButtonOpen.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2108            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2109                jButtonOpenActionPerformed(evt);
2110            }
2111        });
2112
2113        jToolBar1.add(jButtonOpen);
2114
2115        jButtonSave.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/save.png")));
2116        jButtonSave.setToolTipText("Save report");
2117        jButtonSave.setBorder(null);
2118        jButtonSave.setBorderPainted(false);
2119        jButtonSave.setEnabled(false);
2120        jButtonSave.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2121        jButtonSave.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2122        jButtonSave.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2123        jButtonSave.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2124            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2125                jButtonSaveActionPerformed(evt);
2126            }
2127        });
2128
2129        jToolBar1.add(jButtonSave);
2130
2131        jButtonSaveAll.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/saveall.png")));
2132        jButtonSaveAll.setToolTipText("Save report");
2133        jButtonSaveAll.setBorder(null);
2134        jButtonSaveAll.setBorderPainted(false);
2135        jButtonSaveAll.setEnabled(false);
2136        jButtonSaveAll.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2137        jButtonSaveAll.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2138        jButtonSaveAll.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2139        jButtonSaveAll.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2140            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2141                jButtonSaveActionPerformed1(evt);
2142            }
2143        });
2144
2145        jToolBar1.add(jButtonSaveAll);
2146
2147        jSeparator22.setOrientation(javax.swing.SwingConstants.VERTICAL);
2148        jSeparator22.setMaximumSize(new java.awt.Dimension JavaDoc(2, 20));
2149        jSeparator22.setMinimumSize(new java.awt.Dimension JavaDoc(2, 2));
2150        jSeparator22.setPreferredSize(new java.awt.Dimension JavaDoc(2, 20));
2151        jToolBar1.add(jSeparator22);
2152
2153        jButtonCut.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/cut.png")));
2154        jButtonCut.setToolTipText("Cut");
2155        jButtonCut.setBorder(null);
2156        jButtonCut.setBorderPainted(false);
2157        jButtonCut.setEnabled(false);
2158        jButtonCut.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2159        jButtonCut.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2160        jButtonCut.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2161        jButtonCut.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2162            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2163                jButtonCutActionPerformed(evt);
2164            }
2165        });
2166
2167        jToolBar1.add(jButtonCut);
2168
2169        jButtonCopy.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/copy.png")));
2170        jButtonCopy.setToolTipText("Copy");
2171        jButtonCopy.setBorder(null);
2172        jButtonCopy.setBorderPainted(false);
2173        jButtonCopy.setEnabled(false);
2174        jButtonCopy.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2175        jButtonCopy.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2176        jButtonCopy.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2177        jButtonCopy.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2178            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2179                jButtonCopyActionPerformed(evt);
2180            }
2181        });
2182
2183        jToolBar1.add(jButtonCopy);
2184
2185        jButtonPaste.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/paste.png")));
2186        jButtonPaste.setToolTipText("Paste");
2187        jButtonPaste.setBorder(null);
2188        jButtonPaste.setBorderPainted(false);
2189        jButtonPaste.setEnabled(false);
2190        jButtonPaste.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2191        jButtonPaste.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2192        jButtonPaste.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2193        jButtonPaste.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2194            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2195                jButtonPasteActionPerformed(evt);
2196            }
2197        });
2198
2199        jToolBar1.add(jButtonPaste);
2200
2201        jSeparator23.setOrientation(javax.swing.SwingConstants.VERTICAL);
2202        jSeparator23.setMaximumSize(new java.awt.Dimension JavaDoc(2, 20));
2203        jSeparator23.setMinimumSize(new java.awt.Dimension JavaDoc(2, 2));
2204        jSeparator23.setPreferredSize(new java.awt.Dimension JavaDoc(2, 20));
2205        jToolBar1.add(jSeparator23);
2206
2207        jToggleButtonPointer.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/pointer.png")));
2208        jToggleButtonPointer.setToolTipText("Pointer");
2209        jToggleButtonPointer.setBorder(null);
2210        jToggleButtonPointer.setBorderPainted(false);
2211        jToggleButtonPointer.setEnabled(false);
2212        jToggleButtonPointer.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2213        jToggleButtonPointer.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2214        jToggleButtonPointer.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2215        jToggleButtonPointer.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2216            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2217                jToggleButtonPointerItemStateChanged(evt);
2218            }
2219        });
2220        jToggleButtonPointer.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2221            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2222                jToggleButtonPointerActionPerformed(evt);
2223            }
2224        });
2225
2226        jToolBar1.add(jToggleButtonPointer);
2227
2228        jToggleButtonLineTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/line.png")));
2229        jToggleButtonLineTool.setToolTipText("Line tool");
2230        jToggleButtonLineTool.setBorder(null);
2231        jToggleButtonLineTool.setBorderPainted(false);
2232        jToggleButtonLineTool.setEnabled(false);
2233        jToggleButtonLineTool.setFocusPainted(false);
2234        jToggleButtonLineTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2235        jToggleButtonLineTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2236        jToggleButtonLineTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2237        jToggleButtonLineTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2238            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2239                jToggleButtonLineToolItemStateChanged(evt);
2240            }
2241        });
2242        jToggleButtonLineTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2243            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2244                jToggleButtonLineToolActionPerformed(evt);
2245            }
2246        });
2247
2248        jToolBar1.add(jToggleButtonLineTool);
2249
2250        jToggleButtonRectTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/rectangle.png")));
2251        jToggleButtonRectTool.setToolTipText("Rectangle tool");
2252        jToggleButtonRectTool.setBorder(null);
2253        jToggleButtonRectTool.setBorderPainted(false);
2254        jToggleButtonRectTool.setEnabled(false);
2255        jToggleButtonRectTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2256        jToggleButtonRectTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2257        jToggleButtonRectTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2258        jToggleButtonRectTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2259            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2260                jToggleButtonRectToolItemStateChanged(evt);
2261            }
2262        });
2263        jToggleButtonRectTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2264            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2265                jToggleButtonRectToolActionPerformed(evt);
2266            }
2267        });
2268
2269        jToolBar1.add(jToggleButtonRectTool);
2270
2271        jToggleButtonEllipseTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/circle.png")));
2272        jToggleButtonEllipseTool.setToolTipText("Ellipse tool");
2273        jToggleButtonEllipseTool.setBorder(null);
2274        jToggleButtonEllipseTool.setBorderPainted(false);
2275        jToggleButtonEllipseTool.setEnabled(false);
2276        jToggleButtonEllipseTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2277        jToggleButtonEllipseTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2278        jToggleButtonEllipseTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2279        jToggleButtonEllipseTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2280            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2281                jToggleButtonEllipseToolItemStateChanged(evt);
2282            }
2283        });
2284        jToggleButtonEllipseTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2285            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2286                jToggleButtonEllipseToolActionPerformed(evt);
2287            }
2288        });
2289
2290        jToolBar1.add(jToggleButtonEllipseTool);
2291
2292        jToggleButtonStaticTextTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/text.png")));
2293        jToggleButtonStaticTextTool.setToolTipText("Static text tool");
2294        jToggleButtonStaticTextTool.setBorder(null);
2295        jToggleButtonStaticTextTool.setBorderPainted(false);
2296        jToggleButtonStaticTextTool.setEnabled(false);
2297        jToggleButtonStaticTextTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2298        jToggleButtonStaticTextTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2299        jToggleButtonStaticTextTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2300        jToggleButtonStaticTextTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2301            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2302                jToggleButtonStaticTextToolItemStateChanged(evt);
2303            }
2304        });
2305        jToggleButtonStaticTextTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2306            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2307                jToggleButtonStaticTextToolActionPerformed(evt);
2308            }
2309        });
2310
2311        jToolBar1.add(jToggleButtonStaticTextTool);
2312
2313        jToggleButtonTextFieldTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/field.png")));
2314        jToggleButtonTextFieldTool.setToolTipText("Textfield tool");
2315        jToggleButtonTextFieldTool.setBorder(null);
2316        jToggleButtonTextFieldTool.setBorderPainted(false);
2317        jToggleButtonTextFieldTool.setEnabled(false);
2318        jToggleButtonTextFieldTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2319        jToggleButtonTextFieldTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2320        jToggleButtonTextFieldTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2321        jToggleButtonTextFieldTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2322            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2323                jToggleButtonTextFieldToolItemStateChanged(evt);
2324            }
2325        });
2326        jToggleButtonTextFieldTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2327            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2328                jToggleButtonTextFieldToolActionPerformed(evt);
2329            }
2330        });
2331
2332        jToolBar1.add(jToggleButtonTextFieldTool);
2333
2334        jToggleButtonImageTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/picture.png")));
2335        jToggleButtonImageTool.setToolTipText("Image tool");
2336        jToggleButtonImageTool.setBorder(null);
2337        jToggleButtonImageTool.setBorderPainted(false);
2338        jToggleButtonImageTool.setEnabled(false);
2339        jToggleButtonImageTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2340        jToggleButtonImageTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2341        jToggleButtonImageTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2342        jToggleButtonImageTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2343            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2344                jToggleButtonImageToolItemStateChanged(evt);
2345            }
2346        });
2347        jToggleButtonImageTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2348            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2349                jToggleButtonImageToolActionPerformed(evt);
2350            }
2351        });
2352
2353        jToolBar1.add(jToggleButtonImageTool);
2354
2355        jToggleButtonBarcodeTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/barcode.png")));
2356        jToggleButtonBarcodeTool.setToolTipText("Barcode tool");
2357        jToggleButtonBarcodeTool.setBorder(null);
2358        jToggleButtonBarcodeTool.setBorderPainted(false);
2359        jToggleButtonBarcodeTool.setEnabled(false);
2360        jToggleButtonBarcodeTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2361        jToggleButtonBarcodeTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2362        jToggleButtonBarcodeTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2363        jToggleButtonBarcodeTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2364            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2365                jToggleButtonBarcodeToolItemStateChanged(evt);
2366            }
2367        });
2368        jToggleButtonBarcodeTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2369            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2370                jToggleButtonBarcodeToolActionPerformed(evt);
2371            }
2372        });
2373
2374        jToolBar1.add(jToggleButtonBarcodeTool);
2375
2376        jToggleButtonFrameTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/frame.png")));
2377        jToggleButtonFrameTool.setToolTipText("Frame tool");
2378        jToggleButtonFrameTool.setBorder(null);
2379        jToggleButtonFrameTool.setBorderPainted(false);
2380        jToggleButtonFrameTool.setEnabled(false);
2381        jToggleButtonFrameTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2382        jToggleButtonFrameTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2383        jToggleButtonFrameTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2384        jToggleButtonFrameTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2385            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2386                jToggleButtonFrameToolItemStateChanged(evt);
2387            }
2388        });
2389        jToggleButtonFrameTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2390            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2391                jToggleButtonFrameToolActionPerformed(evt);
2392            }
2393        });
2394
2395        jToolBar1.add(jToggleButtonFrameTool);
2396
2397        jToggleButtonChartTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/chart.png")));
2398        jToggleButtonChartTool.setToolTipText("Chart tool");
2399        jToggleButtonChartTool.setBorder(null);
2400        jToggleButtonChartTool.setBorderPainted(false);
2401        jToggleButtonChartTool.setEnabled(false);
2402        jToggleButtonChartTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2403        jToggleButtonChartTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2404        jToggleButtonChartTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2405        jToggleButtonChartTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2406            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2407                jToggleButtonChartToolItemStateChanged(evt);
2408            }
2409        });
2410        jToggleButtonChartTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2411            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2412                jToggleButtonChartToolActionPerformed(evt);
2413            }
2414        });
2415
2416        jToolBar1.add(jToggleButtonChartTool);
2417
2418        jToggleButtonSubreportTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/subreport.png")));
2419        jToggleButtonSubreportTool.setToolTipText("Subreport tool");
2420        jToggleButtonSubreportTool.setBorder(null);
2421        jToggleButtonSubreportTool.setBorderPainted(false);
2422        jToggleButtonSubreportTool.setEnabled(false);
2423        jToggleButtonSubreportTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2424        jToggleButtonSubreportTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2425        jToggleButtonSubreportTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2426        jToggleButtonSubreportTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2427            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2428                jToggleButtonSubreportToolItemStateChanged(evt);
2429            }
2430        });
2431        jToggleButtonSubreportTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2432            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2433                jToggleButtonSubreportToolActionPerformed(evt);
2434            }
2435        });
2436
2437        jToolBar1.add(jToggleButtonSubreportTool);
2438
2439        jToggleButtonCrosstabTool.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/crosstab.png")));
2440        jToggleButtonCrosstabTool.setToolTipText("Crosstab tool");
2441        jToggleButtonCrosstabTool.setBorder(null);
2442        jToggleButtonCrosstabTool.setBorderPainted(false);
2443        jToggleButtonCrosstabTool.setEnabled(false);
2444        jToggleButtonCrosstabTool.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2445        jToggleButtonCrosstabTool.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2446        jToggleButtonCrosstabTool.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2447        jToggleButtonCrosstabTool.addItemListener(new java.awt.event.ItemListener JavaDoc() {
2448            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
2449                jToggleButtonCrosstabToolItemStateChanged(evt);
2450            }
2451        });
2452        jToggleButtonCrosstabTool.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2453            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2454                jToggleButtonCrosstabToolActionPerformed(evt);
2455            }
2456        });
2457
2458        jToolBar1.add(jToggleButtonCrosstabTool);
2459
2460        jSeparator30.setOrientation(javax.swing.SwingConstants.VERTICAL);
2461        jSeparator30.setMaximumSize(new java.awt.Dimension JavaDoc(2, 20));
2462        jSeparator30.setMinimumSize(new java.awt.Dimension JavaDoc(2, 2));
2463        jSeparator30.setPreferredSize(new java.awt.Dimension JavaDoc(2, 20));
2464        jToolBar1.add(jSeparator30);
2465
2466        jButtonParameters.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/values.png")));
2467        jButtonParameters.setToolTipText("Parameters");
2468        jButtonParameters.setBorder(null);
2469        jButtonParameters.setBorderPainted(false);
2470        jButtonParameters.setEnabled(false);
2471        jButtonParameters.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2472        jButtonParameters.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2473        jButtonParameters.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2474        jButtonParameters.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2475            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2476                jButtonParametersActionPerformed(evt);
2477            }
2478        });
2479
2480        jToolBar1.add(jButtonParameters);
2481
2482        jButtonBands.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/bands.png")));
2483        jButtonBands.setToolTipText("Bands");
2484        jButtonBands.setBorder(null);
2485        jButtonBands.setBorderPainted(false);
2486        jButtonBands.setEnabled(false);
2487        jButtonBands.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2488        jButtonBands.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2489        jButtonBands.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2490        jButtonBands.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2491            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2492                jButtonBandsActionPerformed(evt);
2493            }
2494        });
2495
2496        jToolBar1.add(jButtonBands);
2497
2498        jButtonGroups.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/groups.png")));
2499        jButtonGroups.setToolTipText("Groups");
2500        jButtonGroups.setBorder(null);
2501        jButtonGroups.setBorderPainted(false);
2502        jButtonGroups.setEnabled(false);
2503        jButtonGroups.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2504        jButtonGroups.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2505        jButtonGroups.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2506        jButtonGroups.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2507            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2508                jButtonGroupsActionPerformed(evt);
2509            }
2510        });
2511
2512        jToolBar1.add(jButtonGroups);
2513
2514        jButtonDatabase.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/database.png")));
2515        jButtonDatabase.setToolTipText("Database");
2516        jButtonDatabase.setBorder(null);
2517        jButtonDatabase.setBorderPainted(false);
2518        jButtonDatabase.setEnabled(false);
2519        jButtonDatabase.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2520        jButtonDatabase.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2521        jButtonDatabase.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2522        jButtonDatabase.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2523            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2524                jButtonDatabaseActionPerformed(evt);
2525            }
2526        });
2527
2528        jToolBar1.add(jButtonDatabase);
2529
2530        jSeparator31.setOrientation(javax.swing.SwingConstants.VERTICAL);
2531        jSeparator31.setMaximumSize(new java.awt.Dimension JavaDoc(2, 20));
2532        jSeparator31.setMinimumSize(new java.awt.Dimension JavaDoc(2, 2));
2533        jSeparator31.setPreferredSize(new java.awt.Dimension JavaDoc(2, 20));
2534        jSeparator31.setRequestFocusEnabled(false);
2535        jToolBar1.add(jSeparator31);
2536
2537        jPanelZoom.setLayout(new java.awt.BorderLayout JavaDoc());
2538
2539        jPanelZoom.setMaximumSize(new java.awt.Dimension JavaDoc(70, 22));
2540        jPanelZoom.setMinimumSize(new java.awt.Dimension JavaDoc(70, 22));
2541        jPanelZoom.setPreferredSize(new java.awt.Dimension JavaDoc(70, 22));
2542        jNumberComboBoxZoom.setMaximumRowCount(12);
2543        jNumberComboBoxZoom.setMinimumSize(new java.awt.Dimension JavaDoc(70, 18));
2544        jNumberComboBoxZoom.setPostfix("%");
2545        jNumberComboBoxZoom.setPreferredSize(new java.awt.Dimension JavaDoc(70, 22));
2546        jNumberComboBoxZoom.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2547            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2548                jNumberComboBoxZoomActionPerformed(evt);
2549            }
2550        });
2551
2552        jPanelZoom.add(jNumberComboBoxZoom, java.awt.BorderLayout.CENTER);
2553
2554        jToolBar1.add(jPanelZoom);
2555
2556        jButtonLens1.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/lens_in.png")));
2557        jButtonLens1.setToolTipText("Zoom in");
2558        jButtonLens1.setBorder(null);
2559        jButtonLens1.setBorderPainted(false);
2560        jButtonLens1.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2561        jButtonLens1.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2562        jButtonLens1.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2563        jButtonLens1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2564            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2565                jButtonRun2ActionPerformed1(evt);
2566            }
2567        });
2568
2569        jToolBar1.add(jButtonLens1);
2570        jButtonLens1.getAccessibleContext().setAccessibleDescription("");
2571
2572        jButtonLens2.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/lens_out.png")));
2573        jButtonLens2.setToolTipText("Zoom out");
2574        jButtonLens2.setBorder(null);
2575        jButtonLens2.setBorderPainted(false);
2576        jButtonLens2.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2577        jButtonLens2.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2578        jButtonLens2.setOpaque(false);
2579        jButtonLens2.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2580        jButtonLens2.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2581            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2582                jButtonLens1jButtonRun2ActionPerformed1(evt);
2583            }
2584        });
2585
2586        jToolBar1.add(jButtonLens2);
2587
2588        jSeparator32.setOrientation(javax.swing.SwingConstants.VERTICAL);
2589        jSeparator32.setMaximumSize(new java.awt.Dimension JavaDoc(2, 20));
2590        jSeparator32.setMinimumSize(new java.awt.Dimension JavaDoc(2, 2));
2591        jSeparator32.setPreferredSize(new java.awt.Dimension JavaDoc(2, 20));
2592        jToolBar1.add(jSeparator32);
2593
2594        jButtonCompiler.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/compile.png")));
2595        jButtonCompiler.setToolTipText("Compile the report");
2596        jButtonCompiler.setBorder(null);
2597        jButtonCompiler.setBorderPainted(false);
2598        jButtonCompiler.setEnabled(false);
2599        jButtonCompiler.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2600        jButtonCompiler.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2601        jButtonCompiler.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2602        jButtonCompiler.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2603            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2604                jButtonCompilerActionPerformed(evt);
2605            }
2606        });
2607
2608        jToolBar1.add(jButtonCompiler);
2609
2610        jButtonRun1.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/run1.png")));
2611        jButtonRun1.setToolTipText("Run report using an empty datasource");
2612        jButtonRun1.setBorder(null);
2613        jButtonRun1.setBorderPainted(false);
2614        jButtonRun1.setEnabled(false);
2615        jButtonRun1.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2616        jButtonRun1.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2617        jButtonRun1.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2618        jButtonRun1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2619            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2620                jButtonRun1ActionPerformed(evt);
2621            }
2622        });
2623
2624        jToolBar1.add(jButtonRun1);
2625
2626        jButtonRun2.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/newtoolbar/run2.png")));
2627        jButtonRun2.setToolTipText("Run report using a connection");
2628        jButtonRun2.setBorder(null);
2629        jButtonRun2.setBorderPainted(false);
2630        jButtonRun2.setEnabled(false);
2631        jButtonRun2.setMaximumSize(new java.awt.Dimension JavaDoc(22, 22));
2632        jButtonRun2.setMinimumSize(new java.awt.Dimension JavaDoc(22, 22));
2633        jButtonRun2.setPreferredSize(new java.awt.Dimension JavaDoc(22, 22));
2634        jButtonRun2.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2635            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2636                jButtonRun2ActionPerformed(evt);
2637            }
2638        });
2639
2640        jToolBar1.add(jButtonRun2);
2641
2642        getContentPane().add(jToolBar1, java.awt.BorderLayout.NORTH);
2643
2644        jMenuFile.setMnemonic('f');
2645        jMenuFile.setText("File");
2646        jMenuFile.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2647            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2648                jMenuFileActionPerformed(evt);
2649            }
2650        });
2651
2652        jMenuItemNewDocument.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/new.png")));
2653        jMenuItemNewDocument.setText("New document");
2654        jMenuItemNewDocument.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2655            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2656                jMenuItemNewDocumentActionPerformed(evt);
2657            }
2658        });
2659
2660        jMenuFile.add(jMenuItemNewDocument);
2661
2662        jMenuItemWizard.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/wizard.png")));
2663        jMenuItemWizard.setText("Report wizard...");
2664        jMenuItemWizard.setDisabledIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/wizard.png")));
2665        jMenuItemWizard.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2666            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2667                jMenuItemWizardActionPerformed(evt);
2668            }
2669        });
2670
2671        jMenuFile.add(jMenuItemWizard);
2672
2673        jMenuItemOpen.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/open.png")));
2674        jMenuItemOpen.setText("Open");
2675        jMenuItemOpen.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2676            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2677                jMenuItemOpenActionPerformed(evt);
2678            }
2679        });
2680
2681        jMenuFile.add(jMenuItemOpen);
2682
2683        jMenuItemSave.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/save.png")));
2684        jMenuItemSave.setMnemonic('s');
2685        jMenuItemSave.setText("Save");
2686        jMenuItemSave.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2687            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2688                jMenuItemSaveActionPerformed(evt);
2689            }
2690        });
2691
2692        jMenuFile.add(jMenuItemSave);
2693
2694        jMenuItemSaveAs.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/save.png")));
2695        jMenuItemSaveAs.setText("Save as...");
2696        jMenuItemSaveAs.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2697            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2698                jMenuItemSaveAsActionPerformed(evt);
2699            }
2700        });
2701
2702        jMenuFile.add(jMenuItemSaveAs);
2703
2704        jMenuItemSaveAll.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/saveall.png")));
2705        jMenuItemSaveAll.setText("Save all");
2706        jMenuItemSaveAll.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2707            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2708                jMenuItemSaveAllActionPerformed(evt);
2709            }
2710        });
2711
2712        jMenuFile.add(jMenuItemSaveAll);
2713
2714        jMenuItemClose.setText("Close");
2715        jMenuItemClose.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2716            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2717                jMenuItemCloseActionPerformed(evt);
2718            }
2719        });
2720
2721        jMenuFile.add(jMenuItemClose);
2722
2723        jMenuItemCloseAll.setText("Close all");
2724        jMenuItemCloseAll.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2725            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2726                jMenuItemCloseAllActionPerformed(evt);
2727            }
2728        });
2729
2730        jMenuFile.add(jMenuItemCloseAll);
2731
2732        jMenuItemCloseAllExceptThis.setText("Close all except this");
2733        jMenuItemCloseAllExceptThis.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2734            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2735                jMenuItemCloseAllExceptThisActionPerformed(evt);
2736            }
2737        });
2738
2739        jMenuFile.add(jMenuItemCloseAllExceptThis);
2740
2741        jMenuFile.add(jSeparator3);
2742
2743        jMenuItemPrint.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/printer.png")));
2744        jMenuItemPrint.setText("Print design");
2745        jMenuItemPrint.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2746            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2747                jMenuItemPrintActionPerformed(evt);
2748            }
2749        });
2750
2751        jMenuFile.add(jMenuItemPrint);
2752
2753        jMenuItemRevertToSaved.setText("Revert to saved");
2754        jMenuItemRevertToSaved.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2755            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2756                jMenuItemRevertToSavedActionPerformed(evt);
2757            }
2758        });
2759
2760        jMenuFile.add(jMenuItemRevertToSaved);
2761
2762        jMenuFile.add(jSeparator16);
2763
2764        jMenuRecentFiles.setText("Recent Files");
2765        jMenuFile.add(jMenuRecentFiles);
2766
2767        jMenuFile.add(jSeparator15);
2768
2769        jMenuItemQuit.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/null.gif")));
2770        jMenuItemQuit.setMnemonic('q');
2771        jMenuItemQuit.setText("Quit");
2772        jMenuItemQuit.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2773            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2774                jMenuItemQuitActionPerformed(evt);
2775            }
2776        });
2777
2778        jMenuFile.add(jMenuItemQuit);
2779
2780        jMDIMenuBar.add(jMenuFile);
2781
2782        jMenuEdit.setMnemonic('e');
2783        jMenuEdit.setText("Edit");
2784        jMenuEdit.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2785            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2786                jMenuEditActionPerformed(evt);
2787            }
2788        });
2789
2790        jMenuItemUndo.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/undo.png")));
2791        jMenuItemUndo.setText("Undo");
2792        jMenuItemUndo.setEnabled(false);
2793        jMenuItemUndo.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2794            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2795                jMenuItemUndoActionPerformed(evt);
2796            }
2797        });
2798
2799        jMenuEdit.add(jMenuItemUndo);
2800
2801        jMenuItemRedo.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/redo.png")));
2802        jMenuItemRedo.setText("Redo");
2803        jMenuItemRedo.setEnabled(false);
2804        jMenuItemRedo.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2805            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2806                jMenuItemRedoActionPerformed(evt);
2807            }
2808        });
2809
2810        jMenuEdit.add(jMenuItemRedo);
2811
2812        jMenuEdit.add(jSeparator1);
2813
2814        jMenuItemCut.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/cut.png")));
2815        jMenuItemCut.setText("Cut");
2816        jMenuItemCut.setEnabled(false);
2817        jMenuItemCut.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2818            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2819                jMenuItemCutActionPerformed(evt);
2820            }
2821        });
2822
2823        jMenuEdit.add(jMenuItemCut);
2824
2825        jMenuItemCopy.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/copy.png")));
2826        jMenuItemCopy.setText("Copy");
2827        jMenuItemCopy.setEnabled(false);
2828        jMenuItemCopy.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2829            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2830                jMenuItemCopyActionPerformed(evt);
2831            }
2832        });
2833
2834        jMenuEdit.add(jMenuItemCopy);
2835
2836        jMenuItemPaste.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/paste.png")));
2837        jMenuItemPaste.setText("Paste");
2838        jMenuItemPaste.setEnabled(false);
2839        jMenuItemPaste.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2840            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2841                jMenuItemPasteActionPerformed(evt);
2842            }
2843        });
2844
2845        jMenuEdit.add(jMenuItemPaste);
2846
2847        jMenuItemDelete.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/delete.png")));
2848        jMenuItemDelete.setText("Delete");
2849        jMenuItemDelete.setEnabled(false);
2850        jMenuItemDelete.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2851            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2852                jMenuItemDeleteActionPerformed(evt);
2853            }
2854        });
2855
2856        jMenuEdit.add(jMenuItemDelete);
2857
2858        jMenuEdit.add(jSeparator2);
2859
2860        jMenuItemInsertPageBreak.setText("Insert page/column break");
2861        jMenuItemInsertPageBreak.setEnabled(false);
2862        jMenuItemInsertPageBreak.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2863            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2864                jMenuItemAddGroupActionPerformed1(evt);
2865            }
2866        });
2867
2868        jMenuEdit.add(jMenuItemInsertPageBreak);
2869
2870        jMenuAdd.setText("Insert element...");
2871        jMenuAdd.setEnabled(false);
2872        jMenuItemLine.setText("Line");
2873        jMenuItemLine.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2874            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2875                jMenuItemLineActionPerformed(evt);
2876            }
2877        });
2878
2879        jMenuAdd.add(jMenuItemLine);
2880
2881        jMenuItemRectangle.setText("Rectangle");
2882        jMenuItemRectangle.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2883            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2884                jMenuItemRectangleActionPerformed(evt);
2885            }
2886        });
2887
2888        jMenuAdd.add(jMenuItemRectangle);
2889
2890        jMenuItemRoundRectangle.setText("Rounded rectangle");
2891        jMenuItemRoundRectangle.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2892            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2893                jMenuItemRoundRectangleActionPerformed(evt);
2894            }
2895        });
2896
2897        jMenuAdd.add(jMenuItemRoundRectangle);
2898
2899        jMenuItemEllipse.setText("Ellipse");
2900        jMenuItemEllipse.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2901            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2902                jMenuItemEllipseActionPerformed(evt);
2903            }
2904        });
2905
2906        jMenuAdd.add(jMenuItemEllipse);
2907
2908        jMenuItemImage.setText("Image");
2909        jMenuItemImage.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2910            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2911                jMenuItemImageActionPerformed(evt);
2912            }
2913        });
2914
2915        jMenuAdd.add(jMenuItemImage);
2916
2917        jMenuItemStaticText.setText("Static text");
2918        jMenuItemStaticText.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2919            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2920                jMenuItemStaticTextActionPerformed(evt);
2921            }
2922        });
2923
2924        jMenuAdd.add(jMenuItemStaticText);
2925
2926        jMenuItemTextField.setText("Text field");
2927        jMenuItemTextField.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2928            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2929                jMenuItemTextFieldActionPerformed(evt);
2930            }
2931        });
2932
2933        jMenuAdd.add(jMenuItemTextField);
2934
2935        jMenuItemChart.setText("Chart");
2936        jMenuItemChart.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2937            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2938                jMenuItemChartActionPerformed(evt);
2939            }
2940        });
2941
2942        jMenuAdd.add(jMenuItemChart);
2943
2944        jMenuItemSubreport.setText("Subreport");
2945        jMenuItemSubreport.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2946            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2947                jMenuItemSubreportActionPerformed(evt);
2948            }
2949        });
2950
2951        jMenuAdd.add(jMenuItemSubreport);
2952
2953        jMenuEdit.add(jMenuAdd);
2954
2955        jMenuItemAddGroup.setText("New report group wizard");
2956        jMenuItemAddGroup.setEnabled(false);
2957        jMenuItemAddGroup.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2958            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2959                jMenuItemAddGroupActionPerformed(evt);
2960            }
2961        });
2962
2963        jMenuEdit.add(jMenuItemAddGroup);
2964
2965        jMenuItemElementProperties.setText("Element properties");
2966        jMenuItemElementProperties.setEnabled(false);
2967        jMenuItemElementProperties.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2968            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2969                jMenuItemElementPropertiesActionPerformed(evt);
2970            }
2971        });
2972
2973        jMenuEdit.add(jMenuItemElementProperties);
2974
2975        jMenuItemXMLSource.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/null.gif")));
2976        jMenuItemXMLSource.setText("XML source...");
2977        jMenuItemXMLSource.setEnabled(false);
2978        jMenuItemXMLSource.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2979            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2980                jMenuItemXMLSourceActionPerformed(evt);
2981            }
2982        });
2983
2984        jMenuEdit.add(jMenuItemXMLSource);
2985
2986        jMenuInternationalization.setText("Internationalization");
2987        jMenuInternationalization.setEnabled(false);
2988        jMenuLocaleFiles.setText("Locale resource files");
2989        jMenuLocaleFiles.addActionListener(new java.awt.event.ActionListener JavaDoc() {
2990            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
2991                jMenuLocaleFilesActionPerformed(evt);
2992            }
2993        });
2994
2995        jMenuInternationalization.add(jMenuLocaleFiles);
2996
2997        jMenuEdit.add(jMenuInternationalization);
2998
2999        jMenuEdit.add(jSeparator25);
3000
3001        jMenuItemReportProperties.setText("Report properties");
3002        jMenuItemReportProperties.setEnabled(false);
3003        jMenuItemReportProperties.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3004            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3005                jMenuItemReportPropertiesActionPerformed(evt);
3006            }
3007        });
3008
3009        jMenuEdit.add(jMenuItemReportProperties);
3010
3011        jMenuItemProperties.setText("Custom properties");
3012        jMenuItemProperties.setEnabled(false);
3013        jMenuItemProperties.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3014            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3015                jMenuItemPropertiesActionPerformed(evt);
3016            }
3017        });
3018
3019        jMenuEdit.add(jMenuItemProperties);
3020
3021        jMenuItemReportImports.setText("Report series");
3022        jMenuItemReportImports.setEnabled(false);
3023        jMenuItemReportImports.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3024            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3025                jMenuItemReportImportsActionPerformed(evt);
3026            }
3027        });
3028
3029        jMenuEdit.add(jMenuItemReportImports);
3030
3031        jMenuItemScriptletEditor.setText("ScriptletEditor");
3032        jMenuItemScriptletEditor.setEnabled(false);
3033        jMenuItemScriptletEditor.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3034            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3035                jMenuItemScriptletEditorActionPerformed(evt);
3036            }
3037        });
3038
3039        jMenuEdit.add(jMenuItemScriptletEditor);
3040
3041        jMenuEdit.add(jSeparator26);
3042
3043        jMenuItemReportQuery.setText("Report query");
3044        jMenuItemReportQuery.setEnabled(false);
3045        jMenuItemReportQuery.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3046            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3047                jMenuItemReportQueryActionPerformed(evt);
3048            }
3049        });
3050
3051        jMenuEdit.add(jMenuItemReportQuery);
3052
3053        jMenuItemSubDataset.setText("Subdatasets");
3054        jMenuItemSubDataset.setEnabled(false);
3055        jMenuItemSubDataset.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3056            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3057                jMenuItemSubDatasetActionPerformed(evt);
3058            }
3059        });
3060
3061        jMenuEdit.add(jMenuItemSubDataset);
3062
3063        jMenuEdit.add(jSeparator28);
3064
3065        jMenuItemRemoveMargins.setText("Item");
3066        jMenuItemRemoveMargins.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3067            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3068                jMenuItemRemoveMarginsActionPerformed(evt);
3069            }
3070        });
3071
3072        jMenuEdit.add(jMenuItemRemoveMargins);
3073
3074        jMDIMenuBar.add(jMenuEdit);
3075
3076        jMenuView.setMnemonic('v');
3077        jMenuView.setText("View");
3078        jMenuView.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3079            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3080                jMenuViewActionPerformed(evt);
3081            }
3082        });
3083        jMenuView.addChangeListener(new javax.swing.event.ChangeListener JavaDoc() {
3084            public void stateChanged(javax.swing.event.ChangeEvent JavaDoc evt) {
3085                jMenuViewStateChanged(evt);
3086            }
3087        });
3088
3089        jCheckBoxMenuItemGrid.setText("Show grid");
3090        jCheckBoxMenuItemGrid.setEnabled(false);
3091        jCheckBoxMenuItemGrid.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3092            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3093                jCheckBoxMenuItemGridActionPerformed(evt);
3094            }
3095        });
3096
3097        jMenuView.add(jCheckBoxMenuItemGrid);
3098
3099        jMenuView.add(jSeparator4);
3100
3101        jMenuPanels.setText("Docking panes");
3102        jCheckBoxMenuItemExplorer.setSelected(true);
3103        jCheckBoxMenuItemExplorer.setText("Files");
3104        jCheckBoxMenuItemExplorer.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3105            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3106                jCheckBoxMenuItemExplorerActionPerformed(evt);
3107            }
3108        });
3109
3110        jMenuPanels.add(jCheckBoxMenuItemExplorer);
3111
3112        jCheckBoxMenuItemDocumentStructure.setSelected(true);
3113        jCheckBoxMenuItemDocumentStructure.setText("Document structure");
3114        jCheckBoxMenuItemDocumentStructure.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3115            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3116                jCheckBoxMenuItemDocumentStructureActionPerformed1(evt);
3117            }
3118        });
3119
3120        jMenuPanels.add(jCheckBoxMenuItemDocumentStructure);
3121
3122        jCheckBoxMenuItemElementProperties.setSelected(true);
3123        jCheckBoxMenuItemElementProperties.setText("Element properties");
3124        jCheckBoxMenuItemElementProperties.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3125            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3126                jCheckBoxMenuItemElementPropertiesActionPerformed1(evt);
3127            }
3128        });
3129
3130        jMenuPanels.add(jCheckBoxMenuItemElementProperties);
3131
3132        jCheckBoxMenuItemLibrary.setSelected(true);
3133        jCheckBoxMenuItemLibrary.setText("Library");
3134        jCheckBoxMenuItemLibrary.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3135            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3136                jCheckBoxMenuItemLibraryActionPerformed(evt);
3137            }
3138        });
3139
3140        jMenuPanels.add(jCheckBoxMenuItemLibrary);
3141
3142        jCheckBoxMenuItemStylesLibrary.setSelected(true);
3143        jCheckBoxMenuItemStylesLibrary.setText("Styles Library");
3144        jCheckBoxMenuItemStylesLibrary.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3145            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3146                jCheckBoxMenuItemStylesLibraryActionPerformed(evt);
3147            }
3148        });
3149
3150        jMenuPanels.add(jCheckBoxMenuItemStylesLibrary);
3151
3152        jCheckBoxMenuItemOutput.setSelected(true);
3153        jCheckBoxMenuItemOutput.setText("Show output window");
3154        jCheckBoxMenuItemOutput.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3155            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3156                jCheckBoxMenuItemOutputActionPerformed(evt);
3157            }
3158        });
3159
3160        jMenuPanels.add(jCheckBoxMenuItemOutput);
3161
3162        jCheckBoxMenuItemThreadList.setSelected(true);
3163        jCheckBoxMenuItemThreadList.setText("Threads list");
3164        jCheckBoxMenuItemThreadList.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3165            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3166                jCheckBoxMenuItemExplorerActionPerformed1(evt);
3167            }
3168        });
3169
3170        jMenuPanels.add(jCheckBoxMenuItemThreadList);
3171
3172        jMenuView.add(jMenuPanels);
3173
3174        jMenuToolBars.setText("Toolbars");
3175        jCheckBoxMenuItemTextFormatting.setSelected(true);
3176        jCheckBoxMenuItemTextFormatting.setText("Text formatting");
3177        jCheckBoxMenuItemTextFormatting.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3178            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3179                jCheckBoxMenuItemTextFormattingActionPerformed(evt);
3180            }
3181        });
3182
3183        jMenuToolBars.add(jCheckBoxMenuItemTextFormatting);
3184
3185        jCheckBoxMenuItemElementsFormatting.setSelected(true);
3186        jCheckBoxMenuItemElementsFormatting.setText("Elements formatting");
3187        jCheckBoxMenuItemElementsFormatting.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3188            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3189                jCheckBoxMenuItemElementsFormattingActionPerformed(evt);
3190            }
3191        });
3192
3193        jMenuToolBars.add(jCheckBoxMenuItemElementsFormatting);
3194
3195        jMenuView.add(jMenuToolBars);
3196
3197        jMenuView.add(jSeparator12);
3198
3199        jMenuItemFields.setText("Report fields");
3200        jMenuItemFields.setEnabled(false);
3201        jMenuItemFields.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3202            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3203                jMenuItemFieldsActionPerformed(evt);
3204            }
3205        });
3206
3207        jMenuView.add(jMenuItemFields);
3208
3209        jMenuItemVariables.setText("Report variables");
3210        jMenuItemVariables.setEnabled(false);
3211        jMenuItemVariables.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3212            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3213                jMenuItemVariablesActionPerformed(evt);
3214            }
3215        });
3216
3217        jMenuView.add(jMenuItemVariables);
3218
3219        jMenuItemParameters.setText("Report parameters");
3220        jMenuItemParameters.setEnabled(false);
3221        jMenuItemParameters.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3222            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3223                jMenuItemParametersActionPerformed(evt);
3224            }
3225        });
3226
3227        jMenuView.add(jMenuItemParameters);
3228
3229        jMenuView.add(jSeparator6);
3230
3231        jMenuItemBands.setText("Bands");
3232        jMenuItemBands.setEnabled(false);
3233        jMenuItemBands.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3234            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3235                jMenuItemBandsActionPerformed(evt);
3236            }
3237        });
3238
3239        jMenuView.add(jMenuItemBands);
3240
3241        jMenuItemGroups.setText("Report groups");
3242        jMenuItemGroups.setEnabled(false);
3243        jMenuItemGroups.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3244            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3245                jMenuItemGroupsActionPerformed(evt);
3246            }
3247        });
3248
3249        jMenuView.add(jMenuItemGroups);
3250
3251        jMDIMenuBar.add(jMenuView);
3252
3253        jMenuFormat.setMnemonic('o');
3254        jMenuFormat.setText("Format");
3255        jMenuItemStyles.setText("Styles");
3256        jMenuItemStyles.setEnabled(false);
3257        jMenuItemStyles.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3258            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3259                jMenuItemStylesActionPerformed(evt);
3260            }
3261        });
3262
3263        jMenuFormat.add(jMenuItemStyles);
3264
3265        jMenuItemFonts.setText("Report fonts");
3266        jMenuItemFonts.setEnabled(false);
3267        jMenuItemFonts.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3268            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3269                jMenuItemFontsActionPerformed(evt);
3270            }
3271        });
3272
3273        jMenuFormat.add(jMenuItemFonts);
3274
3275        jMenuFormat.add(jSeparator29);
3276
3277        jMenuAlign.setText("Align");
3278        jMenuAlign.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3279            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3280                jMenuAlignActionPerformed(evt);
3281            }
3282        });
3283
3284        jMenuItemAlignLeft.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_LEFT, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3285        jMenuItemAlignLeft.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_align_left.png")));
3286        jMenuItemAlignLeft.setText("Align left");
3287        jMenuItemAlignLeft.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3288            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3289                jMenuItemAlignLeftActionPerformed(evt);
3290            }
3291        });
3292
3293        jMenuAlign.add(jMenuItemAlignLeft);
3294
3295        jMenuItemAlignRight.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_RIGHT, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3296        jMenuItemAlignRight.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_align_right.png")));
3297        jMenuItemAlignRight.setText("Align right");
3298        jMenuItemAlignRight.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3299            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3300                jMenuItemAlignRightActionPerformed(evt);
3301            }
3302        });
3303
3304        jMenuAlign.add(jMenuItemAlignRight);
3305
3306        jMenuItemAlignTop.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_UP, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3307        jMenuItemAlignTop.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_align_top.png")));
3308        jMenuItemAlignTop.setText("Align top");
3309        jMenuItemAlignTop.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3310            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3311                jMenuItemAlignTopActionPerformed(evt);
3312            }
3313        });
3314
3315        jMenuAlign.add(jMenuItemAlignTop);
3316
3317        jMenuItemAlignBottom.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_DOWN, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3318        jMenuItemAlignBottom.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_align_bottom.png")));
3319        jMenuItemAlignBottom.setText("Align bottom");
3320        jMenuItemAlignBottom.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3321            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3322                jMenuItemAlignBottomActionPerformed(evt);
3323            }
3324        });
3325
3326        jMenuAlign.add(jMenuItemAlignBottom);
3327
3328        jMenuAlign.add(jSeparator19);
3329
3330        jMenuItemAlignVerticalAxis.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_center_axis.png")));
3331        jMenuItemAlignVerticalAxis.setText("Align vertical axis");
3332        jMenuItemAlignVerticalAxis.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3333            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3334                jMenuItemAlignVerticalAxisActionPerformed(evt);
3335            }
3336        });
3337
3338        jMenuAlign.add(jMenuItemAlignVerticalAxis);
3339
3340        jMenuItemAlignHorizontalAxis.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_vcenter_axis.png")));
3341        jMenuItemAlignHorizontalAxis.setText("Align horizontal axis");
3342        jMenuItemAlignHorizontalAxis.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3343            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3344                jMenuItemAlignHorizontalAxisActionPerformed(evt);
3345            }
3346        });
3347
3348        jMenuAlign.add(jMenuItemAlignHorizontalAxis);
3349
3350        jMenuAlign.add(jSeparator20);
3351
3352        jMenuItemAlignToBandTop.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_PAGE_UP, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3353        jMenuItemAlignToBandTop.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/format/align_top_band.png")));
3354        jMenuItemAlignToBandTop.setText("Align to band top");
3355        jMenuItemAlignToBandTop.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3356            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3357                jMenuItemAlignToBandTopActionPerformed(evt);
3358            }
3359        });
3360
3361        jMenuAlign.add(jMenuItemAlignToBandTop);
3362
3363        jMenuItemAlignToBandBottom.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_PAGE_DOWN, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3364        jMenuItemAlignToBandBottom.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/toolbars/format/align_bottom_band.png")));
3365        jMenuItemAlignToBandBottom.setText("Align to band bottom");
3366        jMenuItemAlignToBandBottom.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3367            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3368                jMenuItemAlignToBandBottomActionPerformed(evt);
3369            }
3370        });
3371
3372        jMenuAlign.add(jMenuItemAlignToBandBottom);
3373
3374        jMenuFormat.add(jMenuAlign);
3375
3376        jMenuSize.setText("Size");
3377        jMenuItemSameWidth.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_same_hsize.png")));
3378        jMenuItemSameWidth.setText("Same width");
3379        jMenuItemSameWidth.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3380            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3381                jMenuItemSameWidthActionPerformed(evt);
3382            }
3383        });
3384
3385        jMenuSize.add(jMenuItemSameWidth);
3386
3387        jMenuItemSameWidthMax.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_same_hsize_plus.png")));
3388        jMenuItemSameWidthMax.setText("Same width (max)");
3389        jMenuItemSameWidthMax.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3390            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3391                jMenuItemSameWidthMaxActionPerformed(evt);
3392            }
3393        });
3394
3395        jMenuSize.add(jMenuItemSameWidthMax);
3396
3397        jMenuItemSameWidthMin.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_same_hsize_min.png")));
3398        jMenuItemSameWidthMin.setText("Same width (min)");
3399        jMenuItemSameWidthMin.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3400            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3401                jMenuItemSameWidthMinActionPerformed(evt);
3402            }
3403        });
3404
3405        jMenuSize.add(jMenuItemSameWidthMin);
3406
3407        jMenuSize.add(jSeparator17);
3408
3409        jMenuItemSameHeight.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_same_vsize.png")));
3410        jMenuItemSameHeight.setText("Same height");
3411        jMenuItemSameHeight.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3412            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3413                jMenuItemSameHeightActionPerformed(evt);
3414            }
3415        });
3416
3417        jMenuSize.add(jMenuItemSameHeight);
3418
3419        jMenuItemSameHeightMin.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_same_vsize_min.png")));
3420        jMenuItemSameHeightMin.setText("Same height (min)");
3421        jMenuItemSameHeightMin.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3422            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3423                jMenuItemSameHeightMinActionPerformed(evt);
3424            }
3425        });
3426
3427        jMenuSize.add(jMenuItemSameHeightMin);
3428
3429        jMenuItemSameHeightMax.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_same_vsize_plus.png")));
3430        jMenuItemSameHeightMax.setText("Same height (max)");
3431        jMenuItemSameHeightMax.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3432            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3433                jMenuItemSameHeightMaxActionPerformed(evt);
3434            }
3435        });
3436
3437        jMenuSize.add(jMenuItemSameHeightMax);
3438
3439        jMenuSize.add(jSeparator18);
3440
3441        jMenuItemSameSize.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_same_size.png")));
3442        jMenuItemSameSize.setText("Same size");
3443        jMenuItemSameSize.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3444            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3445                jMenuItemSameSizeActionPerformed(evt);
3446            }
3447        });
3448
3449        jMenuSize.add(jMenuItemSameSize);
3450
3451        jMenuFormat.add(jMenuSize);
3452
3453        jMenuPosition.setText("Position");
3454        jMenuItemCenterH.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_hcenter.png")));
3455        jMenuItemCenterH.setText("Center horizontally (band based)");
3456        jMenuItemCenterH.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3457            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3458                jMenuItemCenterHActionPerformed(evt);
3459            }
3460        });
3461
3462        jMenuPosition.add(jMenuItemCenterH);
3463
3464        jMenuItemCenterV.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_vcenter.png")));
3465        jMenuItemCenterV.setText("Center vertically (band based)");
3466        jMenuItemCenterV.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3467            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3468                jMenuItemCenterVActionPerformed(evt);
3469            }
3470        });
3471
3472        jMenuPosition.add(jMenuItemCenterV);
3473
3474        jMenuItemCenterInBand.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_ccenter.png")));
3475        jMenuItemCenterInBand.setText("Center in band");
3476        jMenuItemCenterInBand.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3477            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3478                jMenuItemCenterInBandActionPerformed(evt);
3479            }
3480        });
3481
3482        jMenuPosition.add(jMenuItemCenterInBand);
3483
3484        jMenuItemCenterBackground.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/elem_bcenter.png")));
3485        jMenuItemCenterBackground.setText("Center in background");
3486        jMenuItemCenterBackground.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3487            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3488                jMenuItemCenterBackgroundActionPerformed(evt);
3489            }
3490        });
3491
3492        jMenuPosition.add(jMenuItemCenterBackground);
3493
3494        jMenuItemJoinLeft.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3495        jMenuItemJoinLeft.setText("Join sides left");
3496        jMenuItemJoinLeft.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3497            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3498                jMenuItemJoinLeftActionPerformed(evt);
3499            }
3500        });
3501
3502        jMenuPosition.add(jMenuItemJoinLeft);
3503
3504        jMenuItemJoinRight.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3505        jMenuItemJoinRight.setText("Join sides right");
3506        jMenuItemJoinRight.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3507            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3508                jMenuItemJoinRightActionPerformed(evt);
3509            }
3510        });
3511
3512        jMenuPosition.add(jMenuItemJoinRight);
3513
3514        jMenuItemLeftMargin.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_HOME, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3515        jMenuItemLeftMargin.setText("Join left page margin");
3516        jMenuItemLeftMargin.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3517            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3518                jMenuItemLeftMarginActionPerformed(evt);
3519            }
3520        });
3521
3522        jMenuPosition.add(jMenuItemLeftMargin);
3523
3524        jMenuItemRightMargin.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_END, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3525        jMenuItemRightMargin.setText("Join right page margin");
3526        jMenuItemRightMargin.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3527            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3528                jMenuItemRightMarginActionPerformed(evt);
3529            }
3530        });
3531
3532        jMenuPosition.add(jMenuItemRightMargin);
3533
3534        jMenuFormat.add(jMenuPosition);
3535
3536        jMenuFormat.add(jSeparator5);
3537
3538        jMenuHSpacing.setText("Horizontal spacing...");
3539        jMenuItemHSMakeEqual.setText("Make equal");
3540        jMenuItemHSMakeEqual.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3541            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3542                jMenuItemHSMakeEqualActionPerformed(evt);
3543            }
3544        });
3545
3546        jMenuHSpacing.add(jMenuItemHSMakeEqual);
3547
3548        jMenuItemHSIncrease.setText("Increase");
3549        jMenuItemHSIncrease.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3550            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3551                jMenuItemHSIncreaseActionPerformed(evt);
3552            }
3553        });
3554
3555        jMenuHSpacing.add(jMenuItemHSIncrease);
3556
3557        jMenuItemHSDecrease.setText("Decrease");
3558        jMenuItemHSDecrease.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3559            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3560                jMenuItemHSDecreaseActionPerformed(evt);
3561            }
3562        });
3563
3564        jMenuHSpacing.add(jMenuItemHSDecrease);
3565
3566        jMenuItemHSRemove.setText("Remove");
3567        jMenuItemHSRemove.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3568            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3569                jMenuItemHSRemoveActionPerformed(evt);
3570            }
3571        });
3572
3573        jMenuHSpacing.add(jMenuItemHSRemove);
3574
3575        jMenuFormat.add(jMenuHSpacing);
3576
3577        jMenuVSpacing.setText("Vertical spacing");
3578        jMenuItemVSMakeEqual.setText("Make equal");
3579        jMenuItemVSMakeEqual.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3580            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3581                jMenuItemVSMakeEqualActionPerformed(evt);
3582            }
3583        });
3584
3585        jMenuVSpacing.add(jMenuItemVSMakeEqual);
3586
3587        jMenuItemVSIncrease.setText("Increase");
3588        jMenuItemVSIncrease.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3589            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3590                jMenuItemVSIncreaseActionPerformed(evt);
3591            }
3592        });
3593
3594        jMenuVSpacing.add(jMenuItemVSIncrease);
3595
3596        jMenuItemVSDecrease.setText("Decrease");
3597        jMenuItemVSDecrease.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3598            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3599                jMenuItemVSDecreaseActionPerformed(evt);
3600            }
3601        });
3602
3603        jMenuVSpacing.add(jMenuItemVSDecrease);
3604
3605        jMenuItemVSRemove.setText("Remove");
3606        jMenuItemVSRemove.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3607            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3608                jMenuItemVSRemoveActionPerformed(evt);
3609            }
3610        });
3611
3612        jMenuVSpacing.add(jMenuItemVSRemove);
3613
3614        jMenuFormat.add(jMenuVSpacing);
3615
3616        jMenuItemOrganize.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
3617        jMenuItemOrganize.setIcon(new javax.swing.ImageIcon JavaDoc(""));
3618        jMenuItemOrganize.setText("Organize as a table");
3619        jMenuItemOrganize.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3620            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3621                jMenuItemOrganizeActionPerformed(evt);
3622            }
3623        });
3624
3625        jMenuFormat.add(jMenuItemOrganize);
3626
3627        jMenuFormat.add(jSeparator8);
3628
3629        jMenuItemBringToFront.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/sendtofront.png")));
3630        jMenuItemBringToFront.setText("Bring to front");
3631        jMenuItemBringToFront.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3632            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3633                jMenuItemBringToFrontActionPerformed(evt);
3634            }
3635        });
3636
3637        jMenuFormat.add(jMenuItemBringToFront);
3638
3639        jMenuItemSendToBack.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/sendtoback.png")));
3640        jMenuItemSendToBack.setText("Send to back");
3641        jMenuItemSendToBack.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3642            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3643                jMenuItemSendToBackActionPerformed(evt);
3644            }
3645        });
3646
3647        jMenuFormat.add(jMenuItemSendToBack);
3648
3649        jMDIMenuBar.add(jMenuFormat);
3650
3651        jMenuDatabase.setMnemonic('d');
3652        jMenuDatabase.setText("Data");
3653        jMenuItemConnections.setText("Connections / Datasources");
3654        jMenuItemConnections.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3655            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3656                jMenuItemConnectionsActionPerformed(evt);
3657            }
3658        });
3659
3660        jMenuDatabase.add(jMenuItemConnections);
3661
3662        jMenuItemActiveConnection.setText("Set active connection");
3663        jMenuItemActiveConnection.setToolTipText("Set the connection that must be used to fill this report");
3664        jMenuItemActiveConnection.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3665            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3666                jMenuItemActiveConnectionActionPerformed(evt);
3667            }
3668        });
3669
3670        jMenuDatabase.add(jMenuItemActiveConnection);
3671
3672        jMenuDatabase.add(jSeparator9);
3673
3674        jMenuItemReportQuery2.setText("Report query");
3675        jMenuItemReportQuery2.setEnabled(false);
3676        jMenuItemReportQuery2.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3677            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3678                jMenuItemReportQuery2ActionPerformed(evt);
3679            }
3680        });
3681
3682        jMenuDatabase.add(jMenuItemReportQuery2);
3683
3684        jMenuItemSubDataset1.setText("Subdatasets");
3685        jMenuItemSubDataset1.setEnabled(false);
3686        jMenuItemSubDataset1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3687            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3688                jMenuItemSubDatasetActionPerformed(evt);
3689            }
3690        });
3691
3692        jMenuDatabase.add(jMenuItemSubDataset1);
3693
3694        jMDIMenuBar.add(jMenuDatabase);
3695
3696        jMenuBuild.setMnemonic('b');
3697        jMenuBuild.setText("Build");
3698        jMenuBuild.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3699            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3700                jMenuBuildActionPerformed(evt);
3701            }
3702        });
3703
3704        jMenuItemCompile.setText("Compile");
3705        jMenuItemCompile.addItemListener(new java.awt.event.ItemListener JavaDoc() {
3706            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
3707                jMenuItemCompileItemStateChanged(evt);
3708            }
3709        });
3710        jMenuItemCompile.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3711            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3712                jMenuItemCompileActionPerformed(evt);
3713            }
3714        });
3715
3716        jMenuBuild.add(jMenuItemCompile);
3717
3718        jMenuBuild.add(jSeparator10);
3719
3720        jMenuItemExecute.setText("Execute (empty datasource)");
3721        jMenuItemExecute.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3722            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3723                jMenuItemExecuteActionPerformed(evt);
3724            }
3725        });
3726
3727        jMenuBuild.add(jMenuItemExecute);
3728
3729        jMenuItemExecuteDB.setText("Execute report (using active conn.) ");
3730        jMenuItemExecuteDB.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3731            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3732                jMenuItemExecuteDBActionPerformed(evt);
3733            }
3734        });
3735
3736        jMenuBuild.add(jMenuItemExecuteDB);
3737
3738        jMenuBuild.add(jSeparator33);
3739
3740        jMenuItemCreateFromTemplate.setText("Create from template");
3741        jMenuItemCreateFromTemplate.addItemListener(new java.awt.event.ItemListener JavaDoc() {
3742            public void itemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {
3743                jMenuItemCompileItemStateChanged1(evt);
3744            }
3745        });
3746        jMenuItemCreateFromTemplate.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3747            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3748                jMenuItemCompileActionPerformed1(evt);
3749            }
3750        });
3751
3752        jMenuBuild.add(jMenuItemCreateFromTemplate);
3753
3754        jMenuBuild.add(jSeparator11);
3755
3756        buttonGroupExportType.add(jRadioButtonMenuItemPreviewPDF);
3757        jRadioButtonMenuItemPreviewPDF.setSelected(true);
3758        jRadioButtonMenuItemPreviewPDF.setText("PDF preview");
3759        jRadioButtonMenuItemPreviewPDF.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3760            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3761                jRadioButtonMenuItemPreviewPDFActionPerformed(evt);
3762            }
3763        });
3764
3765        jMenuBuild.add(jRadioButtonMenuItemPreviewPDF);
3766
3767        buttonGroupExportType.add(jRadioButtonMenuItemPreviewHTML);
3768        jRadioButtonMenuItemPreviewHTML.setText("HTML preview");
3769        jRadioButtonMenuItemPreviewHTML.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3770            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3771                jRadioButtonMenuItemPreviewHTMLActionPerformed(evt);
3772            }
3773        });
3774
3775        jMenuBuild.add(jRadioButtonMenuItemPreviewHTML);
3776
3777        buttonGroupExportType.add(jRadioButtonMenuItemPreviewJAVA);
3778        jRadioButtonMenuItemPreviewJAVA.setText("JAVA 2D preview");
3779        jRadioButtonMenuItemPreviewJAVA.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3780            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3781                jRadioButtonMenuItemPreviewJAVAActionPerformed(evt);
3782            }
3783        });
3784
3785        jMenuBuild.add(jRadioButtonMenuItemPreviewJAVA);
3786
3787        buttonGroupExportType.add(jRadioButtonMenuItemPreviewXLS);
3788        jRadioButtonMenuItemPreviewXLS.setText("Excel preview");
3789        jRadioButtonMenuItemPreviewXLS.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3790            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3791                jRadioButtonMenuItemPreviewXLSActionPerformed(evt);
3792            }
3793        });
3794
3795        jMenuBuild.add(jRadioButtonMenuItemPreviewXLS);
3796
3797        buttonGroupExportType.add(jRadioButtonMenuItemPreviewXLS2);
3798        jRadioButtonMenuItemPreviewXLS2.setText("Excel preview (using JExcelApi)");
3799        jRadioButtonMenuItemPreviewXLS2.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3800            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3801                jRadioButtonMenuItemPreviewXLS2ActionPerformed(evt);
3802            }
3803        });
3804
3805        jMenuBuild.add(jRadioButtonMenuItemPreviewXLS2);
3806
3807        buttonGroupExportType.add(jRadioButtonMenuItemPreviewCSV);
3808        jRadioButtonMenuItemPreviewCSV.setText("CSV preview");
3809        jRadioButtonMenuItemPreviewCSV.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3810            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3811                jRadioButtonMenuItemPreviewCSVActionPerformed(evt);
3812            }
3813        });
3814
3815        jMenuBuild.add(jRadioButtonMenuItemPreviewCSV);
3816
3817        buttonGroupExportType.add(jRadioButtonMenuItemPreviewTXT);
3818        jRadioButtonMenuItemPreviewTXT.setText("Text preview (Experimental)");
3819        jRadioButtonMenuItemPreviewTXT.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3820            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3821                jRadioButtonMenuItemPreviewTXTActionPerformed(evt);
3822            }
3823        });
3824
3825        jMenuBuild.add(jRadioButtonMenuItemPreviewTXT);
3826
3827        buttonGroupExportType.add(jRadioButtonMenuItemPreviewTXTJR);
3828        jRadioButtonMenuItemPreviewTXTJR.setSelected(true);
3829        jRadioButtonMenuItemPreviewTXTJR.setText("TXT JR preview");
3830        jRadioButtonMenuItemPreviewTXTJR.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3831            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3832                jRadioButtonMenuItemPreviewTXTJRActionPerformed(evt);
3833            }
3834        });
3835
3836        jMenuBuild.add(jRadioButtonMenuItemPreviewTXTJR);
3837
3838        buttonGroupExportType.add(jRadioButtonMenuItemPreviewRTF);
3839        jRadioButtonMenuItemPreviewRTF.setSelected(true);
3840        jRadioButtonMenuItemPreviewRTF.setText("RTF preview");
3841        jRadioButtonMenuItemPreviewRTF.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3842            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3843                jRadioButtonMenuItemPreviewRTFActionPerformed(evt);
3844            }
3845        });
3846
3847        jMenuBuild.add(jRadioButtonMenuItemPreviewRTF);
3848
3849        buttonGroupExportType.add(jRadioButtonMenuItemPreviewInternalViewer);
3850        jRadioButtonMenuItemPreviewInternalViewer.setText("JRViewer preview");
3851        jRadioButtonMenuItemPreviewInternalViewer.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3852            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3853                jRadioButtonMenuItemPreviewInternalViewerActionPerformed(evt);
3854            }
3855        });
3856
3857        jMenuBuild.add(jRadioButtonMenuItemPreviewInternalViewer);
3858
3859        jMenuBuild.add(jSeparator14);
3860
3861        jMenuItemActiveConnection1.setText("Set active connection");
3862        jMenuItemActiveConnection1.setToolTipText("Set the connection that must be used to fill this report");
3863        jMenuItemActiveConnection1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3864            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3865                jMenuItemActiveConnectionActionPerformed(evt);
3866            }
3867        });
3868
3869        jMenuBuild.add(jMenuItemActiveConnection1);
3870
3871        jMenuItemReportLocale.setText("Item");
3872        jMenuItemReportLocale.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3873            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3874                jMenuItemReportLocaleActionPerformed(evt);
3875            }
3876        });
3877
3878        jMenuBuild.add(jMenuItemReportLocale);
3879
3880        jMenuItemReportTimeZone.setText("Time Zone");
3881        jMenuItemReportTimeZone.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3882            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3883                jMenuItemReportTimeZoneActionPerformed(evt);
3884            }
3885        });
3886
3887        jMenuBuild.add(jMenuItemReportTimeZone);
3888
3889        jCheckBoxMenuItemIgnorePagination.setText("Ignore pagination");
3890        jCheckBoxMenuItemIgnorePagination.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3891            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3892                jCheckBoxMenuItemIgnorePaginationActionPerformed(evt);
3893            }
3894        });
3895
3896        jMenuBuild.add(jCheckBoxMenuItemIgnorePagination);
3897
3898        jMenuItemMaxRecords.setText("Max records");
3899        jMenuItemMaxRecords.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3900            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3901                jMenuItemMaxRecordsActionPerformed(evt);
3902            }
3903        });
3904
3905        jMenuBuild.add(jMenuItemMaxRecords);
3906
3907        jCheckBoxMenuItemReportVirtualizer.setText("Use Report virtualizer");
3908        jCheckBoxMenuItemReportVirtualizer.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3909            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3910                jCheckBoxMenuItemReportVirtualizerActionPerformed(evt);
3911            }
3912        });
3913
3914        jMenuBuild.add(jCheckBoxMenuItemReportVirtualizer);
3915
3916        jMDIMenuBar.add(jMenuBuild);
3917
3918        jMenuTools.setMnemonic('t');
3919        jMenuTools.setText("Options");
3920        jCheckBoxMenuItemSnapToGrid.setText("Snap To Grid");
3921        jCheckBoxMenuItemSnapToGrid.setEnabled(false);
3922        jCheckBoxMenuItemSnapToGrid.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3923            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3924                jCheckBoxMenuItemSnapToGridActionPerformed(evt);
3925            }
3926        });
3927
3928        jMenuTools.add(jCheckBoxMenuItemSnapToGrid);
3929
3930        jCheckBoxMenuItemEMM.setText("Disable elements mouse move");
3931        jCheckBoxMenuItemEMM.setEnabled(false);
3932        jCheckBoxMenuItemEMM.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3933            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3934                jCheckBoxMenuItemEMMActionPerformed(evt);
3935            }
3936        });
3937
3938        jMenuTools.add(jCheckBoxMenuItemEMM);
3939
3940        jMenuTools.add(jSeparator13);
3941
3942        jMenuItemOptions.setText("Settings...");
3943        jMenuItemOptions.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3944            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3945                jMenuItemOptionsActionPerformed(evt);
3946            }
3947        });
3948
3949        jMenuTools.add(jMenuItemOptions);
3950
3951        jMenuItemCompatibility.setText("Compatibility...");
3952        jMenuItemCompatibility.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3953            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3954                jMenuItemCompatibilityActionPerformed(evt);
3955            }
3956        });
3957
3958        jMenuTools.add(jMenuItemCompatibility);
3959
3960        jMenuItemClasspath.setText("Classpath");
3961        jMenuItemClasspath.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3962            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3963                jMenuItemClasspathActionPerformed(evt);
3964            }
3965        });
3966
3967        jMenuTools.add(jMenuItemClasspath);
3968
3969        jMenuItemFontspath.setText("Fonts path");
3970        jMenuItemFontspath.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3971            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3972                jMenuItemClasspathActionPerformed1(evt);
3973            }
3974        });
3975
3976        jMenuTools.add(jMenuItemFontspath);
3977
3978        jMenuItemReloadFonts.setText("Reload fonts");
3979        jMenuItemReloadFonts.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3980            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3981                jMenuItemReloadFontsActionPerformed(evt);
3982            }
3983        });
3984
3985        jMenuTools.add(jMenuItemReloadFonts);
3986
3987        jMenuItemExpressions.setText("Formulas");
3988        jMenuItemExpressions.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3989            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3990                jMenuItemExportOptionsActionPerformed1(evt);
3991            }
3992        });
3993
3994        jMenuTools.add(jMenuItemExpressions);
3995
3996        jMenuItemExportOptions.setText("Export options");
3997        jMenuItemExportOptions.addActionListener(new java.awt.event.ActionListener JavaDoc() {
3998            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
3999                jMenuItemExportOptionsActionPerformed(evt);
4000            }
4001        });
4002
4003        jMenuTools.add(jMenuItemExportOptions);
4004
4005        jMenuItemQueryExecuters.setText("Query executers");
4006        jMenuItemQueryExecuters.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4007            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4008                jMenuItemExpressionsjMenuItemExportOptionsActionPerformed1(evt);
4009            }
4010        });
4011
4012        jMenuTools.add(jMenuItemQueryExecuters);
4013
4014        jMenuTools.add(jSeparator7);
4015
4016        jMenuItemPluginConfig.setText("Configure plugins");
4017        jMenuItemPluginConfig.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4018            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4019                jMenuItemPluginConfigActionPerformed(evt);
4020            }
4021        });
4022
4023        jMenuTools.add(jMenuItemPluginConfig);
4024
4025        jMDIMenuBar.add(jMenuTools);
4026
4027        jMenuPlugins.setText("Plugins");
4028        jMDIMenuBar.add(jMenuPlugins);
4029
4030        jMenuWindow.setMnemonic('w');
4031        jMenuWindow.setText("Window");
4032        jMenuItemCascade.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/win_cascade.gif")));
4033        jMenuItemCascade.setText("Cascade");
4034        jMenuItemCascade.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4035            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4036                jMenuItemCascadeActionPerformed(evt);
4037            }
4038        });
4039
4040        jMenuWindow.add(jMenuItemCascade);
4041
4042        jMenuItemTileHorizontal.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/win_htile.gif")));
4043        jMenuItemTileHorizontal.setText("Tile horizontal");
4044        jMenuItemTileHorizontal.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4045            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4046                jMenuItemTileHorizontalActionPerformed(evt);
4047            }
4048        });
4049
4050        jMenuWindow.add(jMenuItemTileHorizontal);
4051
4052        jMenuItemTileVertical.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/win_vtile.gif")));
4053        jMenuItemTileVertical.setText("Tile vertical");
4054        jMenuItemTileVertical.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4055            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4056                jMenuItemTileVerticalActionPerformed(evt);
4057            }
4058        });
4059
4060        jMenuWindow.add(jMenuItemTileVertical);
4061
4062        jMenuItemtileAnodine.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/win_atile.gif")));
4063        jMenuItemtileAnodine.setText("Tile anodine");
4064        jMenuItemtileAnodine.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4065            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4066                jMenuItemtileAnodineActionPerformed(evt);
4067            }
4068        });
4069
4070        jMenuWindow.add(jMenuItemtileAnodine);
4071
4072        jMenuItemNextWin.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/win_next.gif")));
4073        jMenuItemNextWin.setText("Next Window");
4074        jMenuItemNextWin.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4075            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4076                jMenuItemNextWinActionPerformed(evt);
4077            }
4078        });
4079
4080        jMenuWindow.add(jMenuItemNextWin);
4081
4082        jMenuItemPrevWin.setIcon(new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/menu/win_prev.gif")));
4083        jMenuItemPrevWin.setText("Previous Window");
4084        jMenuItemPrevWin.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4085            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4086                jMenuItemPrevWinActionPerformed(evt);
4087            }
4088        });
4089
4090        jMenuWindow.add(jMenuItemPrevWin);
4091
4092        jMenuItemRightSide.setText("Show/Hide right side");
4093        jMenuItemRightSide.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4094            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4095                jMenuItemRightSideActionPerformed(evt);
4096            }
4097        });
4098
4099        jMenuWindow.add(jMenuItemRightSide);
4100
4101        jMenuWindow.add(jSeparator21);
4102
4103        jMDIMenuBar.add(jMenuWindow);
4104
4105        jMenuHelp.setMnemonic('h');
4106        jMenuHelp.setText("Help");
4107        jMenuItemHomePage.setText("iReport home page");
4108        jMenuItemHomePage.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4109            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4110                jMenuItemForumjMenuItemHelpActionPerformed1(evt);
4111            }
4112        });
4113
4114        jMenuHelp.add(jMenuItemHomePage);
4115
4116        jMenuItemHelp.setText("Help...");
4117        jMenuItemHelp.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4118            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4119                jMenuItemHelpActionPerformed(evt);
4120            }
4121        });
4122
4123        jMenuHelp.add(jMenuItemHelp);
4124
4125        jMenuItemForum.setText("Forum...");
4126        jMenuItemForum.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4127            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4128                jMenuItemHelpActionPerformed1(evt);
4129            }
4130        });
4131
4132        jMenuHelp.add(jMenuItemForum);
4133
4134        jMenuItemAbout.setText("About iReport...");
4135        jMenuItemAbout.addActionListener(new java.awt.event.ActionListener JavaDoc() {
4136            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
4137                jMenuItemAboutActionPerformed(evt);
4138            }
4139        });
4140
4141        jMenuHelp.add(jMenuItemAbout);
4142
4143        jMDIMenuBar.add(jMenuHelp);
4144
4145        setJMenuBar(jMDIMenuBar);
4146
4147        pack();
4148    }// </editor-fold>//GEN-END:initComponents
4149

4150    private void jPanelMasterMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jPanelMasterMouseClicked
4151

4152        
4153        
4154    }//GEN-LAST:event_jPanelMasterMouseClicked
4155

4156
4157    
4158    private void formWindowStateChanged(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_formWindowStateChanged
4159

4160    }//GEN-LAST:event_formWindowStateChanged
4161

4162    private void jMenuItemAddGroupActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAddGroupActionPerformed1
4163

4164        JReportFrame activeFrame = this.getActiveReportFrame();
4165        if (activeFrame != null) {
4166
4167             this.setActiveTool( null );
4168             activeFrame.setNewObjectType( ReportElementType.BREAK_ELEMENT );
4169        }
4170        
4171    }//GEN-LAST:event_jMenuItemAddGroupActionPerformed1
4172

4173    private void jMenuItemCompileActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCompileActionPerformed1
4174

4175        UserTemplatesDialog utd = new UserTemplatesDialog(this, true);
4176        utd.setVisible(true);
4177        
4178    }//GEN-LAST:event_jMenuItemCompileActionPerformed1
4179

4180    private void jMenuItemCompileItemStateChanged1(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCompileItemStateChanged1
4181
// TODO add your handling code here:
4182
}//GEN-LAST:event_jMenuItemCompileItemStateChanged1
4183

4184    private void jMenuItemReloadFontsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemReloadFontsActionPerformed
4185

4186        Thread JavaDoc fontsThread = new Thread JavaDoc(new Runnable JavaDoc()
4187        {
4188            public void run()
4189            {
4190                reloadFontsLists();
4191            }
4192        });
4193
4194        fontsThread.start();
4195
4196    }//GEN-LAST:event_jMenuItemReloadFontsActionPerformed
4197

4198    private void jMenuItemClasspathActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemClasspathActionPerformed1
4199

4200        FontsPathDialog cpd = new FontsPathDialog(this, true);
4201        cpd.setFontspath( getFontspath(), getClasspath() );
4202        cpd.setVisible(true);
4203        if (cpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION )
4204        {
4205            setFontspath( cpd.getFontspath() );
4206        }
4207    }//GEN-LAST:event_jMenuItemClasspathActionPerformed1
4208

4209    private void jMenuItemForumjMenuItemHelpActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemForumjMenuItemHelpActionPerformed1
4210
openUrl("http://jasperforge.org/sf/projects/ireport");
4211    }//GEN-LAST:event_jMenuItemForumjMenuItemHelpActionPerformed1
4212

4213    private void jMenuItemHelpActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemHelpActionPerformed1
4214

4215            openUrl("http://www.jasperforge.org/index.php?option=com_joomlaboard&Itemid=215&func=showcat&catid=9");
4216
4217    }//GEN-LAST:event_jMenuItemHelpActionPerformed1
4218

4219    private void jButtonSaveActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonSaveActionPerformed1
4220

4221        jMenuItemSaveAllActionPerformed(evt);
4222    }//GEN-LAST:event_jButtonSaveActionPerformed1
4223

4224    private void jButtonNewActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonNewActionPerformed1
4225

4226        jMenuItemWizardActionPerformed(evt);
4227    }//GEN-LAST:event_jButtonNewActionPerformed1
4228

4229    private void jMenuItemExpressionsjMenuItemExportOptionsActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemExpressionsjMenuItemExportOptionsActionPerformed1
4230

4231
4232        QueryExecutersDialog qed = new QueryExecutersDialog(this, true);
4233        qed.setVisible(true);
4234
4235    }//GEN-LAST:event_jMenuItemExpressionsjMenuItemExportOptionsActionPerformed1
4236

4237    private void jCheckBoxMenuItemExplorerActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemExplorerActionPerformed1
4238

4239         if (jCheckBoxMenuItemThreadList.isSelected()) {
4240                       //DockingManager.dock((Dockable)viewThreads, (Dockable)desktop, DockingConstants.EAST_REGION);
4241
Misc.dockAt(viewThreads, DockingConstants.SOUTH_REGION, 4);
4242         }
4243         else {
4244             DockingManager.close(viewThreads );
4245         }
4246    }//GEN-LAST:event_jCheckBoxMenuItemExplorerActionPerformed1
4247

4248    private void jMenuItemReportTimeZoneActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemReportTimeZoneActionPerformed
4249

4250        it.businesslogic.ireport.gui.locale.TimeZoneDialog fd = new it.businesslogic.ireport.gui.locale.TimeZoneDialog(this,true);
4251        fd.setReportTimeZoneId( this.getProperties().getProperty("reportTimeZoneId", "") );
4252        fd.setVisible(true);
4253
4254        if (fd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION)
4255        {
4256            String JavaDoc reportTimeZoneId = fd.getReportTimeZoneId();
4257            if (reportTimeZoneId == null)
4258            {
4259             this.getProperties().remove("reportTimeZoneId");
4260            }
4261            else
4262            {
4263                this.getProperties().setProperty("reportTimeZoneId", reportTimeZoneId);
4264            }
4265            saveiReportConfiguration();
4266        updateJMenuItemReportTimeZone();
4267        }
4268
4269    }//GEN-LAST:event_jMenuItemReportTimeZoneActionPerformed
4270

4271    private void jMenuItemExportOptionsActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemExportOptionsActionPerformed1
4272

4273        CustomExpressionsDialog ced = new CustomExpressionsDialog(this, true);
4274        ced.setExpressions( ExpressionEditor.defaultExpressions);
4275        ced.setVisible(true);
4276        if (ced.getDialogResult() == JOptionPane.OK_OPTION)
4277        {
4278            saveExpressionsList( ced.getExpressions() );
4279        }
4280    }//GEN-LAST:event_jMenuItemExportOptionsActionPerformed1
4281

4282    private void jMenuItemAddGroupActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAddGroupActionPerformed
4283

4284        ReportGroupWizard rgw = new ReportGroupWizard();
4285        rgw.startWizard();
4286    }//GEN-LAST:event_jMenuItemAddGroupActionPerformed
4287

4288    private void jCheckBoxMenuItemStylesLibraryActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemStylesLibraryActionPerformed
4289
if (jCheckBoxMenuItemStylesLibrary.isSelected())
4290        {
4291                     Misc.dockAt(stylesPanleView, DockingConstants.EAST_REGION, 2);
4292                     // this.getDockingContainerRight().addPanel("Styles library", this.stylesView, true);
4293
}
4294        else
4295        {
4296           DockingManager.close(stylesPanleView);
4297        }
4298        getProperties().put("panelStylesLibrary", ""+jCheckBoxMenuItemStylesLibrary.isSelected());
4299        this.saveiReportConfiguration();
4300    }//GEN-LAST:event_jCheckBoxMenuItemStylesLibraryActionPerformed
4301

4302    private void jCheckBoxMenuItemLibraryActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemLibraryActionPerformed
4303
if (jCheckBoxMenuItemLibrary.isSelected())
4304        {
4305                 Misc.dockAt(viewLibrary, DockingConstants.EAST_REGION, 1);
4306           // this.getDockingContainerRight().addPanel("Library", this.libraryPanel, true);
4307
}
4308        else
4309        {
4310           DockingManager.close(viewLibrary);
4311        }
4312        getProperties().put("panelLibrary", ""+jCheckBoxMenuItemLibrary.isSelected());
4313        this.saveiReportConfiguration();
4314
4315
4316    }//GEN-LAST:event_jCheckBoxMenuItemLibraryActionPerformed
4317

4318    private void jCheckBoxMenuItemDocumentStructureActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemDocumentStructureActionPerformed1
4319
if (jCheckBoxMenuItemDocumentStructure.isSelected())
4320        {
4321            if (getActiveReportFrame() == null || getActiveReportFrame().getSelectedCrosstabEditorPanel() == null)
4322            {
4323                  Misc.dockAt(viewDocumentStructure, DockingConstants.WEST_REGION, 1);
4324            }
4325            else
4326            {
4327                jCheckBoxMenuItemDocumentStructure.setSelected(true);
4328            }
4329        }
4330        else
4331        {
4332            DockingManager.close(viewDocumentStructure);
4333        }
4334        getProperties().put("panelDocumentStructure", ""+jCheckBoxMenuItemDocumentStructure.isSelected());
4335        this.saveiReportConfiguration();
4336    }//GEN-LAST:event_jCheckBoxMenuItemDocumentStructureActionPerformed1
4337

4338    private void jMenuViewStateChanged(javax.swing.event.ChangeEvent JavaDoc evt) {//GEN-FIRST:event_jMenuViewStateChanged
4339

4340    }//GEN-LAST:event_jMenuViewStateChanged
4341

4342    private void jMenuViewActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuViewActionPerformed
4343

4344
4345
4346    }//GEN-LAST:event_jMenuViewActionPerformed
4347

4348    private void jCheckBoxMenuItemElementPropertiesActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemElementPropertiesActionPerformed1
4349
if (jCheckBoxMenuItemElementProperties.isSelected())
4350        {
4351                 Misc.dockAt(viewPropertySheet, DockingConstants.EAST_REGION, 0);
4352           // this.getDockingContainerRight().insertPanel(0, "Element properties", this.reportElementSheetPanel, true);
4353
}
4354        else
4355        {
4356           DockingManager.close(viewPropertySheet);
4357        }
4358        getProperties().put("panelElementProperties", ""+jCheckBoxMenuItemElementProperties.isSelected());
4359        this.saveiReportConfiguration();
4360    }//GEN-LAST:event_jCheckBoxMenuItemElementPropertiesActionPerformed1
4361

4362    private void jRadioButtonMenuItemPreviewXLS2ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonMenuItemPreviewXLS2ActionPerformed
4363
this.setReportViewer(IREPORT_XLS2_VIEWER);
4364    }//GEN-LAST:event_jRadioButtonMenuItemPreviewXLS2ActionPerformed
4365

4366    private void jButtonLens1jButtonRun2ActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonLens1jButtonRun2ActionPerformed1
4367
JReportFrame activeFrame = this.getActiveReportFrame();
4368        if (activeFrame != null) {
4369
4370             double value = jNumberComboBoxZoom.getValue();
4371
4372             if (value > 800) value = 800;
4373             else if (value > 700) value = 700;
4374             else if (value > 600) value = 600;
4375             else if (value > 500) value = 500;
4376             else if (value > 400) value = 400;
4377             else if (value > 350) value = 350;
4378             else if (value > 300) value = 300;
4379             else if (value > 250) value = 250;
4380             else if (value > 200) value = 200;
4381             else if (value > 150) value = 150;
4382             else if (value > 100) value = 100;
4383             else if (value > 50) value = 50;
4384
4385             jNumberComboBoxZoom.setValue(value);
4386        }
4387    }//GEN-LAST:event_jButtonLens1jButtonRun2ActionPerformed1
4388

4389    private void jButtonRun2ActionPerformed1(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonRun2ActionPerformed1
4390

4391        JReportFrame activeFrame = this.getActiveReportFrame();
4392        if (activeFrame != null) {
4393
4394             double value = jNumberComboBoxZoom.getValue();
4395
4396             if (value < 50) value = 50;
4397             else if (value < 100) value = 100;
4398             else if (value < 150) value = 150;
4399             else if (value < 200) value = 200;
4400             else if (value < 250) value = 250;
4401             else if (value < 300) value = 300;
4402             else if (value < 350) value = 350;
4403             else if (value < 400) value = 400;
4404             else if (value < 500) value = 500;
4405             else if (value < 600) value = 600;
4406             else if (value < 700) value = 700;
4407             else value = 800;
4408
4409             jNumberComboBoxZoom.setValue(value);
4410        }
4411
4412    }//GEN-LAST:event_jButtonRun2ActionPerformed1
4413

4414    private void jToggleButtonCrosstabToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonCrosstabToolItemStateChanged
4415
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
4416                if (jMDIDesktopPane.getSelectedFrame() != null &&
4417                jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
4418                    JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
4419                    jrf.setNewObjectType( ReportElementType.CROSSTAB_ELEMENT);
4420                    jrf.setLensMode(false);
4421                }
4422                setActiveTool(jToggleButtonCrosstabTool);
4423            }
4424    }//GEN-LAST:event_jToggleButtonCrosstabToolItemStateChanged
4425

4426    private void jToggleButtonCrosstabToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonCrosstabToolActionPerformed
4427
jToggleButtonCrosstabTool.setSelected(true);
4428    }//GEN-LAST:event_jToggleButtonCrosstabToolActionPerformed
4429

4430    private void jMenuItemStylesActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemStylesActionPerformed
4431
JReportFrame activeFrame = this.getActiveReportFrame();
4432        if (activeFrame != null) {
4433
4434             StylesDialog sdd = new StylesDialog( this, true);
4435             sdd.setVisible(true);
4436
4437        }
4438    }//GEN-LAST:event_jMenuItemStylesActionPerformed
4439

4440    private void jMenuItemSubDatasetActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSubDatasetActionPerformed
4441

4442         JReportFrame activeFrame = this.getActiveReportFrame();
4443        if (activeFrame != null) {
4444
4445             SubDatasetsDialog sdd = new SubDatasetsDialog( this, true);
4446             sdd.setVisible(true);
4447        }
4448    }//GEN-LAST:event_jMenuItemSubDatasetActionPerformed
4449

4450    private void jToggleButtonFrameToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonFrameToolItemStateChanged
4451
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
4452            if (jMDIDesktopPane.getSelectedFrame() != null &&
4453            jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
4454                JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
4455                jrf.setNewObjectType( ReportElementType.FRAME_ELEMENT);
4456                jrf.setLensMode(false);
4457            }
4458            setActiveTool(jToggleButtonFrameTool);
4459        }
4460    }//GEN-LAST:event_jToggleButtonFrameToolItemStateChanged
4461

4462    private void jToggleButtonFrameToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonFrameToolActionPerformed
4463
jToggleButtonFrameTool.setSelected(true);
4464    }//GEN-LAST:event_jToggleButtonFrameToolActionPerformed
4465

4466    private void jMenuItemMaxRecordsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemMaxRecordsActionPerformed
4467

4468
4469        it.businesslogic.ireport.gui.MaxRecordsDialog fd = new it.businesslogic.ireport.gui.MaxRecordsDialog(this,true);
4470        try {
4471        fd.setMaxRecords( Integer.parseInt( this.getProperties().getProperty("maxRecords", "0") ));
4472        } catch (Exception JavaDoc ex) {}
4473
4474        fd.setVisible(true);
4475
4476        if (fd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION)
4477        {
4478            int maxRecords = fd.getMaxRecords();
4479
4480            this.getProperties().setProperty("maxRecords", ""+maxRecords);
4481            saveiReportConfiguration();
4482            updateJMenuItemReportMaxRecords();
4483        }
4484
4485    }//GEN-LAST:event_jMenuItemMaxRecordsActionPerformed
4486

4487    private void jMenuBuildActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuBuildActionPerformed
4488
// TODO add your handling code here:
4489
}//GEN-LAST:event_jMenuBuildActionPerformed
4490

4491    private void jRadioButtonMenuItemPreviewRTFActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonMenuItemPreviewRTFActionPerformed
4492
this.setReportViewer(IREPORT_RTF_VIEWER);
4493    }//GEN-LAST:event_jRadioButtonMenuItemPreviewRTFActionPerformed
4494

4495    private void jRadioButtonMenuItemPreviewTXTJRActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonMenuItemPreviewTXTJRActionPerformed
4496
this.setReportViewer(IREPORT_TXT_JR_VIEWER);
4497    }//GEN-LAST:event_jRadioButtonMenuItemPreviewTXTJRActionPerformed
4498

4499    private void jCheckBoxMenuItemIgnorePaginationActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemIgnorePaginationActionPerformed
4500

4501        getProperties().put("IgnorePagination", ""+jCheckBoxMenuItemIgnorePagination.isSelected());
4502        this.saveiReportConfiguration();
4503
4504    }//GEN-LAST:event_jCheckBoxMenuItemIgnorePaginationActionPerformed
4505

4506    private void jCheckBoxMenuItemReportVirtualizerActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemReportVirtualizerActionPerformed
4507

4508        getProperties().put("ReportVirtualizer", ""+jCheckBoxMenuItemReportVirtualizer.isSelected());
4509        this.saveiReportConfiguration();
4510
4511    }//GEN-LAST:event_jCheckBoxMenuItemReportVirtualizerActionPerformed
4512

4513    private void jMenuItemPrintActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemPrintActionPerformed
4514

4515
4516        JReportFrame activeFrame = this.getActiveReportFrame();
4517        if (activeFrame != null) {
4518
4519                java.awt.Image JavaDoc img = activeFrame.getImage();
4520                HashMap hm = new HashMap();
4521                hm.put("report", activeFrame.getReport());
4522                hm.put("design_img",img);
4523                try {
4524                    net.sf.jasperreports.engine.JasperReport jr = net.sf.jasperreports.engine.JasperCompileManager.compileReport(getClass().getClassLoader().getResourceAsStream("it/businesslogic/ireport/res/ireport_design.jrxml"));
4525                    net.sf.jasperreports.engine.JasperPrint print = net.sf.jasperreports.engine.JasperFillManager.fillReport(jr,hm,new net.sf.jasperreports.engine.JREmptyDataSource());
4526                    net.sf.jasperreports.view.JasperViewer jasperViewer = new net.sf.jasperreports.view.JasperViewer(print,false);
4527                    jasperViewer.setTitle("iReport JasperViewer");
4528                    jasperViewer.setVisible(true);
4529                } catch (Exception JavaDoc ex)
4530                {
4531                    ex.printStackTrace();
4532                }
4533        }
4534
4535    }//GEN-LAST:event_jMenuItemPrintActionPerformed
4536

4537    private void jMenuItemRightSideActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemRightSideActionPerformed
4538

4539        /*
4540        if (jSplitPaneHelp.getDividerSize() == 0)
4541        {
4542
4543            jSplitPaneHelp.setDividerSize(6);
4544            jSplitPaneHelp.setDividerLocation( jSplitPaneHelp.getWidth()-8-rightColumnWidth );
4545            dockingContainerRight.setSize(400,10);
4546            dockingContainerRight.setVisible(true);
4547        }
4548        else
4549        {
4550            rightColumnWidth = dockingContainerRight.getWidth();
4551            jSplitPaneHelp.setDividerSize(0);
4552            dockingContainerRight.setVisible(false);
4553        }
4554         */

4555
4556    }//GEN-LAST:event_jMenuItemRightSideActionPerformed
4557

4558    private void jMenuAlignActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuAlignActionPerformed
4559
// TODO add your handling code here:
4560
}//GEN-LAST:event_jMenuAlignActionPerformed
4561

4562    private void jMenuItemSaveAllFromListActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSaveAllFromListActionPerformed
4563
jMenuItemSaveAllActionPerformed( evt );
4564    }//GEN-LAST:event_jMenuItemSaveAllFromListActionPerformed
4565

4566    private void jMenuItemSaveAsFromListActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSaveAsFromListActionPerformed
4567

4568        JReportFrame jrf = getSelectedJRFFromFilesTree();
4569        if (jrf != null) {
4570            saveAs( jrf );
4571        }
4572
4573    }//GEN-LAST:event_jMenuItemSaveAsFromListActionPerformed
4574

4575    protected void jMenuItemSaveFromListActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSaveFromListActionPerformed
4576

4577        JReportFrame jrf = getSelectedJRFFromFilesTree();
4578        if (jrf != null) {
4579            save( jrf );
4580        }
4581    }//GEN-LAST:event_jMenuItemSaveFromListActionPerformed
4582

4583    private void jMenuItemRevertToSavedActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemRevertToSavedActionPerformed
4584

4585        JReportFrame activeFrame = this.getActiveReportFrame();
4586        if (activeFrame != null) {
4587                        //
4588
try {
4589                            if (activeFrame.getReport().getFilename() != null && new File(activeFrame.getReport().getFilename()).exists() )
4590                            {
4591                                String JavaDoc filename = activeFrame.getReport().getFilename();
4592                                activeFrame.getReport().setReportChanges(0);
4593                                jMDIMenuBar.closeFrame( activeFrame, true);
4594                                openFile(filename);
4595                            }
4596                        } catch (Exception JavaDoc ex)
4597                        {};
4598                        //dtn.getJrf().updateUI();
4599
//jMDIDesktopPane.internalFrameActivated(dtn.getJrf());
4600
//this.logOnConsole("Activated :"+dtn.getJrf().getReport().getFilename()+"\n");
4601
}
4602    }//GEN-LAST:event_jMenuItemRevertToSavedActionPerformed
4603

4604    private void jMenuItemRevertToSavedFromListActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemRevertToSavedFromListActionPerformed
4605

4606        JReportFrame jrf = getSelectedJRFFromFilesTree();
4607        if (jrf != null && jrf.getReport().getFilename() != null && new File(jrf.getReport().getFilename()).exists())
4608        {
4609            String JavaDoc filename = jrf.getReport().getFilename();
4610            jrf.getReport().setReportChanges(0);
4611            jMDIMenuBar.closeFrame( jrf, true);
4612            openFile(filename);
4613        }
4614
4615
4616    }//GEN-LAST:event_jMenuItemRevertToSavedFromListActionPerformed
4617

4618    private void jMenuItemCloseAllExceptThisFromListActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCloseAllExceptThisFromListActionPerformed
4619

4620        if (this.getActiveReportFrame() == null) return;
4621        JInternalFrame activeF = this.getActiveReportFrame();
4622
4623        JReportFrame jrf = getSelectedJRFFromFilesTree();
4624
4625        if (jrf != null) {
4626            //
4627
try {
4628                activeF = jrf;
4629            } catch (Exception JavaDoc ex)
4630            {};
4631            //dtn.getJrf().updateUI();
4632
//jMDIDesktopPane.internalFrameActivated(dtn.getJrf());
4633
//this.logOnConsole("Activated :"+dtn.getJrf().getReport().getFilename()+"\n");
4634
}
4635
4636
4637        JInternalFrame[] frames = this.jMDIDesktopPane.getAllFrames();
4638        for (int i=0; i<frames.length; ++i)
4639        {
4640            if (frames[i] != activeF)
4641            {
4642                jMDIMenuBar.closeFrame( frames[i] );
4643            }
4644        }
4645
4646    }//GEN-LAST:event_jMenuItemCloseAllExceptThisFromListActionPerformed
4647

4648    private void jMenuItemCloseAllFromListActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCloseAllFromListActionPerformed
4649
jMenuItemCloseAllActionPerformed( evt );
4650    }//GEN-LAST:event_jMenuItemCloseAllFromListActionPerformed
4651

4652    private void jMenuItemCloseFromListActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCloseFromListActionPerformed
4653

4654        JReportFrame jrf = getSelectedJRFFromFilesTree();
4655
4656        if (jrf != null) {
4657            //
4658
try {
4659                jMDIMenuBar.closeFrame(jrf );
4660            } catch (Exception JavaDoc ex)
4661            {};
4662            //dtn.getJrf().updateUI();
4663
//jMDIDesktopPane.internalFrameActivated(dtn.getJrf());
4664
//this.logOnConsole("Activated :"+dtn.getJrf().getReport().getFilename()+"\n");
4665
}
4666
4667    }//GEN-LAST:event_jMenuItemCloseFromListActionPerformed
4668

4669    private void jMenuItemCloseAllExceptThisActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCloseAllExceptThisActionPerformed
4670

4671        if (this.getActiveReportFrame() == null) return;
4672        JInternalFrame activeF = this.getActiveReportFrame();
4673        JInternalFrame[] frames = this.jMDIDesktopPane.getAllFrames();
4674        for (int i=0; i<frames.length; ++i)
4675        {
4676            if (frames[i] != activeF)
4677            {
4678                jMDIMenuBar.closeFrame( frames[i] );
4679            }
4680        }
4681    }//GEN-LAST:event_jMenuItemCloseAllExceptThisActionPerformed
4682

4683    private void jMenuItemCloseAllActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCloseAllActionPerformed
4684

4685        JInternalFrame[] frames = jMDIDesktopPane.getAllFrames();
4686        for (int i=0; i<frames.length; ++i)
4687        {
4688            if (frames[i] instanceof JReportFrame)
4689            {
4690                jMDIMenuBar.closeFrame( frames[i]);
4691            }
4692        }
4693
4694
4695    }//GEN-LAST:event_jMenuItemCloseAllActionPerformed
4696

4697    private void jMenuItemCloseActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCloseActionPerformed
4698

4699        jMDIMenuBar.closeFrame( this.getActiveReportFrame() );
4700
4701    }//GEN-LAST:event_jMenuItemCloseActionPerformed
4702

4703    private void jMenuItemExportOptionsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemExportOptionsActionPerformed
4704
it.businesslogic.ireport.gui.export.ExportPreferencesDialog epf = new it.businesslogic.ireport.gui.export.ExportPreferencesDialog(this, true);
4705        epf.setVisible(true);
4706
4707    }//GEN-LAST:event_jMenuItemExportOptionsActionPerformed
4708

4709    private void jMenuItemClasspathActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemClasspathActionPerformed
4710

4711        ClassPathDialog cpd = new ClassPathDialog(this, true);
4712        cpd.setClasspath( getClasspath() );
4713        cpd.setVisible(true);
4714        if (cpd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION )
4715        {
4716            setClasspath( cpd.getClasspath() );
4717        }
4718
4719    }//GEN-LAST:event_jMenuItemClasspathActionPerformed
4720

4721    private void jMenuItemCompileActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCompileActionPerformed
4722

4723        jButtonCompilerActionPerformed( evt );
4724
4725    }//GEN-LAST:event_jMenuItemCompileActionPerformed
4726

4727    private void jMenuItemCompileItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCompileItemStateChanged
4728
// TODO add your handling code here:
4729
}//GEN-LAST:event_jMenuItemCompileItemStateChanged
4730

4731    private void jMenuItemRemoveMarginsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemRemoveMarginsActionPerformed
4732

4733        JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
4734
4735        if (jrf == null) return;
4736
4737        UndoOperation uo = new RemoveMarginsOperation(jrf,
4738                        jrf.getReport().getTopMargin(),
4739                        jrf.getReport().getBottomMargin(),
4740                        jrf.getReport().getLeftMargin(),
4741                        jrf.getReport().getRightMargin());
4742        uo.redo();
4743
4744        jrf.addUndoOperation( uo );
4745    }//GEN-LAST:event_jMenuItemRemoveMarginsActionPerformed
4746

4747    private void jMenuItemReportLocaleActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemReportLocaleActionPerformed
4748

4749        it.businesslogic.ireport.gui.locale.NewLocaleFileDialog fd = new it.businesslogic.ireport.gui.locale.NewLocaleFileDialog(this,true);
4750        fd.setVisible(true);
4751
4752        if (fd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION)
4753        {
4754            String JavaDoc reportLocale = fd.getText();
4755            this.getProperties().setProperty("reportLocale", reportLocale);
4756            saveiReportConfiguration();
4757
4758            Locale loc = Misc.getLocaleFromString(reportLocale);
4759        updateJMenuItemReportLocaleText();
4760        }
4761
4762
4763    }//GEN-LAST:event_jMenuItemReportLocaleActionPerformed
4764

4765    public void updateJMenuItemReportLocaleText()
4766    {
4767        Locale loc = Misc.getLocaleFromString( this.getProperties().getProperty("reportLocale"));
4768        jMenuItemReportLocale.setText(it.businesslogic.ireport.util.I18n.getString("setReportLocale", "Set report locale -" ) + " " + loc.getDisplayName() );
4769    }
4770    public void updateJMenuItemReportTimeZone()
4771    {
4772        String JavaDoc s = this.getProperties().getProperty("reportTimeZoneId");
4773        String JavaDoc timezoneName = "default";
4774        if (s != null && s.length() > 0)
4775        {
4776            try {
4777                TimeZone tz = TimeZone.getTimeZone(s);
4778                timezoneName = new TimeZoneWrapper( tz ) + "";
4779            } catch (Exception JavaDoc ex)
4780            {
4781
4782            }
4783        }
4784
4785        jMenuItemReportTimeZone.setText(it.businesslogic.ireport.util.I18n.getString("setReportTimeZone", "Set report time zone -" ) + " " + timezoneName);
4786    }
4787
4788
4789
4790    public void updateJMenuItemReportMaxRecords()
4791    {
4792        int maxRecords = 0;
4793        try {
4794            maxRecords = Integer.parseInt( this.getProperties().getProperty("maxRecords","0"));
4795        } catch (Exception JavaDoc ex)
4796        { }
4797        
4798        if (maxRecords > 0)
4799        {
4800            jMenuItemMaxRecords.setText(it.businesslogic.ireport.util.I18n.getFormattedString("maxRecords", "Max records ({0,number})", new Object JavaDoc[]{new Integer JavaDoc(maxRecords)}) );
4801        }
4802        else
4803        {
4804            jMenuItemMaxRecords.setText(it.businesslogic.ireport.util.I18n.getString("maxRecordsNotSet", "maxRecordsNotSet") );
4805        }
4806    }
4807
4808
4809    private void jCheckBoxMenuItemEMMActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemEMMActionPerformed
4810

4811        getProperties().put("EMM", ""+jCheckBoxMenuItemEMM.isSelected());
4812            this.saveiReportConfiguration();
4813
4814    }//GEN-LAST:event_jCheckBoxMenuItemEMMActionPerformed
4815

4816    private void jMenuItemHelpActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemHelpActionPerformed
4817

4818        openUrl("http://jasperforge.org/sf/wiki/do/viewPage/projects.ireport/wiki/HomePage" );
4819
4820    }//GEN-LAST:event_jMenuItemHelpActionPerformed
4821

4822    public void openUrl(String JavaDoc url)
4823    {
4824        Misc.openURL(url);
4825        /*
4826        String operatingSystem = System.getProperty("os.name");
4827
4828
4829            try {
4830                 if (operatingSystem.toLowerCase().indexOf("windows") > -1)
4831                 {
4832                        Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
4833                 }
4834                 else
4835                 {
4836                        // Try with htmlview...
4837                        Runtime.getRuntime().exec("htmlview " + url + " &");
4838                 }
4839            } catch (Exception ex)
4840            {
4841                javax.swing.JOptionPane.showMessageDialog( this,"Unable to open " + url, "", javax.swing.JOptionPane.ERROR_MESSAGE);
4842            }
4843         */

4844    }
4845
4846    private void jListThreadsMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jListThreadsMouseClicked
4847
if (evt.getButton() == evt.BUTTON3) {
4848
4849            this.jPopupMenuThreads.show(jListThreads, evt.getPoint().x, evt.getPoint().y);
4850        }
4851    }//GEN-LAST:event_jListThreadsMouseClicked
4852

4853    private void jMenuItemKillActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemKillActionPerformed
4854

4855        Object JavaDoc obj = this.jListThreads.getSelectedValue();
4856        if (obj != null)
4857        {
4858            IReportCompiler ic = (IReportCompiler)obj;
4859            ic.stopThread();
4860        }
4861
4862    }//GEN-LAST:event_jMenuItemKillActionPerformed
4863

4864    private void jMenuLocaleFilesActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuLocaleFilesActionPerformed
4865
this.getLocaleFilesDialog().setVisible(true);
4866    }//GEN-LAST:event_jMenuLocaleFilesActionPerformed
4867

4868    private void jMenuItemReportImportsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemReportImportsActionPerformed
4869
JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
4870
4871       ReportImportsDialog rsd = new ReportImportsDialog(this, true);
4872       rsd.setJReportFrame( jrf );
4873       rsd.setVisible(true);
4874
4875
4876    }//GEN-LAST:event_jMenuItemReportImportsActionPerformed
4877

4878    private void jButtonAlignBottomActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAlignBottomActionPerformed
4879
setElementsValue("setVerticalAlign", "Bottom");
4880    }//GEN-LAST:event_jButtonAlignBottomActionPerformed
4881

4882    private void jButtonAlignMiddleActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAlignMiddleActionPerformed
4883
setElementsValue("setVerticalAlign", "Middle");
4884    }//GEN-LAST:event_jButtonAlignMiddleActionPerformed
4885

4886    private void jButtonAlignTopActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAlignTopActionPerformed
4887
setElementsValue("setVerticalAlign", "Top");
4888    }//GEN-LAST:event_jButtonAlignTopActionPerformed
4889

4890    private void jButtonFormatCenterVActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonFormatCenterVActionPerformed
4891
jMenuItemAlignVerticalAxisActionPerformed(evt);
4892    }//GEN-LAST:event_jButtonFormatCenterVActionPerformed
4893

4894    private void jButtonFormatCenterHActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonFormatCenterHActionPerformed
4895
jMenuItemAlignHorizontalAxisActionPerformed(evt);
4896    }//GEN-LAST:event_jButtonFormatCenterHActionPerformed
4897

4898    private void jButtonStrikethroughtActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonStrikethroughtActionPerformed
4899
JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
4900        if (jrf == null) return;
4901        // Set the new value for all selected elements...
4902
boolean bool = false;
4903        Enumeration e = jrf.getSelectedElements().elements();
4904        while (e.hasMoreElements()) {
4905            ReportElement repele = (ReportElement)e.nextElement();
4906            if (repele instanceof TextReportElement)
4907            {
4908                TextReportElement element = (TextReportElement)repele;
4909                bool = ((TextReportElement)repele).isStrikeTrought();
4910                break;
4911            }
4912        }
4913
4914        setElementsValue("setStrikeTrought", new Boolean JavaDoc(!bool), Boolean.TYPE);
4915        //this.getElementPropertiesDialog().updateSelection();
4916
}//GEN-LAST:event_jButtonStrikethroughtActionPerformed
4917

4918    private void jButtonUnderlineActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonUnderlineActionPerformed
4919

4920        JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
4921        if (jrf == null) return;
4922        // Set the new value for all selected elements...
4923
boolean bool = false;
4924        Enumeration e = jrf.getSelectedElements().elements();
4925        while (e.hasMoreElements()) {
4926            ReportElement repele = (ReportElement)e.nextElement();
4927            if (repele instanceof TextReportElement)
4928            {
4929                TextReportElement element = (TextReportElement)repele;
4930                bool = ((TextReportElement)repele).isUnderline();
4931                break;
4932            }
4933        }
4934
4935        setElementsValue("setUnderline", new Boolean JavaDoc(!bool), Boolean.TYPE);
4936        //this.getElementPropertiesDialog().updateSelection();
4937
}//GEN-LAST:event_jButtonUnderlineActionPerformed
4938

4939    private void jButtonItalicActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonItalicActionPerformed
4940
JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
4941        if (jrf == null) return;
4942        // Set the new value for all selected elements...
4943
boolean bool = false;
4944        Enumeration e = jrf.getSelectedElements().elements();
4945        while (e.hasMoreElements()) {
4946            ReportElement repele = (ReportElement)e.nextElement();
4947            if (repele instanceof TextReportElement)
4948            {
4949                TextReportElement element = (TextReportElement)repele;
4950                bool = ((TextReportElement)repele).isItalic();
4951                break;
4952            }
4953        }
4954
4955        setElementsValue("setItalic", new Boolean JavaDoc(!bool), Boolean.TYPE);
4956        //this.getElementPropertiesDialog().updateSelection();
4957
}//GEN-LAST:event_jButtonItalicActionPerformed
4958

4959    private void jButtonBoldActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonBoldActionPerformed
4960

4961        JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
4962        if (jrf == null) return;
4963        // Set the new value for all selected elements...
4964
boolean bool = false;
4965        Enumeration e = jrf.getSelectedElements().elements();
4966        while (e.hasMoreElements()) {
4967            ReportElement repele = (ReportElement)e.nextElement();
4968            if (repele instanceof TextReportElement)
4969            {
4970                TextReportElement element = (TextReportElement)repele;
4971                bool = ((TextReportElement)repele).isBold();
4972                break;
4973            }
4974        }
4975
4976        setElementsValue("setBold", new Boolean JavaDoc(!bool), Boolean.TYPE);
4977        //this.getElementPropertiesDialog().updateSelection();
4978
}//GEN-LAST:event_jButtonBoldActionPerformed
4979

4980    private void jButtonDecreaseSizeActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonDecreaseSizeActionPerformed
4981
setElementsValue("modifyFontSize", new Integer JavaDoc(-2), Integer.TYPE);
4982        //this.getElementPropertiesDialog().updateSelection();
4983
}//GEN-LAST:event_jButtonDecreaseSizeActionPerformed
4984

4985    private void jButtonIncreaseSizeActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonIncreaseSizeActionPerformed
4986

4987       setElementsValue("modifyFontSize", new Integer JavaDoc(2), Integer.TYPE);
4988
4989    }//GEN-LAST:event_jButtonIncreaseSizeActionPerformed
4990

4991    private void jComboBoxFontItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jComboBoxFontItemStateChanged
4992
if (!this.isDontHandleEvent() && jComboBoxFont.getSelectedItem() != null)
4993        {
4994            setElementsValue("setFontName", ""+ jComboBoxFont.getSelectedItem());
4995        }
4996    }//GEN-LAST:event_jComboBoxFontItemStateChanged
4997

4998    private void jNumberComboBoxSizeItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jNumberComboBoxSizeItemStateChanged
4999
if (!this.isDontHandleEvent())
5000        {
5001            setElementsValue("setFontSize", new Integer JavaDoc((int)jNumberComboBoxSize.getValue()), Integer.TYPE);
5002            //this.getElementPropertiesDialog().updateSelection();
5003
}
5004    }//GEN-LAST:event_jNumberComboBoxSizeItemStateChanged
5005

5006    private void jNumberComboBoxSizeActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jNumberComboBoxSizeActionPerformed
5007
if (!this.isDontHandleEvent())
5008        {
5009            setElementsValue("setFontSize", new Integer JavaDoc((int)jNumberComboBoxSize.getValue()), Integer.TYPE);
5010        }
5011    }//GEN-LAST:event_jNumberComboBoxSizeActionPerformed
5012

5013    private void jCheckBoxMenuItemElementsFormattingActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemElementsFormattingActionPerformed
5014
jToolBarFormat.setVisible( jCheckBoxMenuItemElementsFormatting.isSelected());
5015        getProperties().put("toolbarFormattingVisible", ""+jCheckBoxMenuItemElementsFormatting.isSelected());
5016        this.saveiReportConfiguration();
5017    }//GEN-LAST:event_jCheckBoxMenuItemElementsFormattingActionPerformed
5018

5019    private void jCheckBoxMenuItemTextFormattingActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemTextFormattingActionPerformed
5020
jToolBarText.setVisible( jCheckBoxMenuItemTextFormatting.isSelected());
5021        getProperties().put("toolbarTextVisible", ""+jCheckBoxMenuItemTextFormatting.isSelected());
5022        this.saveiReportConfiguration();
5023    }//GEN-LAST:event_jCheckBoxMenuItemTextFormattingActionPerformed
5024

5025    private void jButtonAlignRightActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAlignRightActionPerformed
5026
setElementsValue("setAlign", "Right");
5027    }//GEN-LAST:event_jButtonAlignRightActionPerformed
5028

5029    private void jButtonAlignCenterActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAlignCenterActionPerformed
5030
setElementsValue("setAlign", "Center");
5031    }//GEN-LAST:event_jButtonAlignCenterActionPerformed
5032

5033    private void jButtonAlignJustifyActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAlignJustifyActionPerformed
5034
setElementsValue("setAlign", "Justified");
5035    }//GEN-LAST:event_jButtonAlignJustifyActionPerformed
5036

5037    private void jButtonAlignLeftActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonAlignLeftActionPerformed
5038
setElementsValue("setAlign", "Left");
5039    }//GEN-LAST:event_jButtonAlignLeftActionPerformed
5040

5041    public void jMenuItemOrganizeActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemOrganizeActionPerformed
5042
FormatCommand.getCommand( OperationType.ORGANIZE_AS_A_TABLE ).execute();
5043    }//GEN-LAST:event_jMenuItemOrganizeActionPerformed
5044

5045    public void jMenuItemLeftMarginActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemLeftMarginActionPerformed
5046
FormatCommand.getCommand( OperationType.ALIGN_TO_LEFT_MARGIN).execute();
5047    }//GEN-LAST:event_jMenuItemLeftMarginActionPerformed
5048

5049    public void jMenuItemRightMarginActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemRightMarginActionPerformed
5050
FormatCommand.getCommand( OperationType.ALIGN_TO_RIGHT_MARGIN).execute();
5051    }//GEN-LAST:event_jMenuItemRightMarginActionPerformed
5052

5053    private void jNumberComboBoxZoomActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jNumberComboBoxZoomActionPerformed
5054
//System.out.println( "Zoom: " + jNumberComboBoxZoom.getValue());
5055
}//GEN-LAST:event_jNumberComboBoxZoomActionPerformed
5056

5057    private void jMenuItemPluginConfigActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemPluginConfigActionPerformed
5058
getPluginConfigurationDialog().setVisible(true);
5059    }//GEN-LAST:event_jMenuItemPluginConfigActionPerformed
5060

5061    private void jScrollPaneFilesMousePressed(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jScrollPaneFilesMousePressed
5062

5063    }//GEN-LAST:event_jScrollPaneFilesMousePressed
5064

5065    private void jTreeFilesMousePressed(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jTreeFilesMousePressed
5066
if (evt.getButton() == evt.BUTTON3) {
5067            jTreeFiles.setSelectionPath( jTreeFiles.getPathForLocation(evt.getX(), evt.getY() ) );
5068            if (jTreeFiles.getSelectionCount() > 0) {
5069                    this.jPopupMenuFiles.show(jTreeFiles, evt.getPoint().x, evt.getPoint().y);
5070                }
5071        }
5072    }//GEN-LAST:event_jTreeFilesMousePressed
5073

5074    private void jRadioButtonMenuItemPreviewTXTActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonMenuItemPreviewTXTActionPerformed
5075
this.setReportViewer(IREPORT_TXT_VIEWER);
5076    }//GEN-LAST:event_jRadioButtonMenuItemPreviewTXTActionPerformed
5077

5078    private void jToggleButtonBarcodeToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonBarcodeToolItemStateChanged
5079
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
5080                if (jMDIDesktopPane.getSelectedFrame() != null &&
5081                jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5082                    JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5083                    jrf.setNewObjectType( ReportElementType.BARCODE_ELEMENT);
5084                    jrf.setLensMode(false);
5085                }
5086                setActiveTool(jToggleButtonBarcodeTool);
5087            }
5088    }//GEN-LAST:event_jToggleButtonBarcodeToolItemStateChanged
5089

5090    private void jToggleButtonBarcodeToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonBarcodeToolActionPerformed
5091
jToggleButtonBarcodeTool.setSelected(true);
5092    }//GEN-LAST:event_jToggleButtonBarcodeToolActionPerformed
5093

5094    private void jMenuItemChartActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemChartActionPerformed
5095
jToggleButtonChartToolItemStateChanged(new java.awt.event.ItemEvent JavaDoc(jToggleButtonChartTool,0,jToggleButtonChartTool, java.awt.event.ItemEvent.SELECTED));
5096    }//GEN-LAST:event_jMenuItemChartActionPerformed
5097

5098    private void jMenuItemImageActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemImageActionPerformed
5099
jToggleButtonImageToolItemStateChanged(new java.awt.event.ItemEvent JavaDoc(jToggleButtonImageTool,0,jToggleButtonImageTool, java.awt.event.ItemEvent.SELECTED));
5100    }//GEN-LAST:event_jMenuItemImageActionPerformed
5101

5102    private void jToggleButtonChartToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonChartToolActionPerformed
5103
jToggleButtonChartTool.setSelected(true);
5104    }//GEN-LAST:event_jToggleButtonChartToolActionPerformed
5105

5106    private void jMenuItemScriptletEditorActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemScriptletEditorActionPerformed
5107
if (jMDIDesktopPane.getSelectedFrame() != null &&
5108        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5109            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5110
5111            if (jrf == null || jrf.getReport().getScriptletHandling() != Report.SCRIPTLET_IREPORT_INTERNAL_HANDLING ) {
5112                if (JOptionPane.showConfirmDialog(this,
5113                I18n.getString("messages.scriptletEditor","To use the scriptlet editor, you must leave iReport to handle the scriptlet class code internally.\n"+
5114                "You can set how handle scriptlet in report properties form.\n\nDo you want activate this option now?"),
5115                I18n.getString("messages.scriptletEditorTitle","Scriptlet editor"), JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE) != JOptionPane.OK_OPTION) {
5116                    return;
5117                }
5118
5119                jrf.getReport().setScriptletHandling( Report.SCRIPTLET_IREPORT_INTERNAL_HANDLING );
5120            }
5121
5122            this.getEventsForm().setVisible(true);
5123            this.getEventsForm().setJReportFrame( jrf );
5124        }
5125    }//GEN-LAST:event_jMenuItemScriptletEditorActionPerformed
5126

5127    private void jMenuItemPropertiesActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemPropertiesActionPerformed
5128

5129        if (jMDIDesktopPane.getSelectedFrame() != null &&
5130        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5131            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5132            PropertiesDialog pd = new PropertiesDialog(this, true);
5133            pd.setDataset( jrf.getReport() );
5134            pd.updateProperties();
5135
5136            pd.setVisible(true);
5137        }
5138    }//GEN-LAST:event_jMenuItemPropertiesActionPerformed
5139

5140   private void jRadioButtonMenuItemPreviewCSVActionPerformed(java.awt.event.ActionEvent JavaDoc evt)//GEN-FIRST:event_jRadioButtonMenuItemPreviewCSVActionPerformed
5141
{//GEN-HEADEREND:event_jRadioButtonMenuItemPreviewCSVActionPerformed
5142
this.setReportViewer(IREPORT_CSV_VIEWER);
5143   }//GEN-LAST:event_jRadioButtonMenuItemPreviewCSVActionPerformed
5144

5145   private void jRadioButtonMenuItemPreviewXLSActionPerformed(java.awt.event.ActionEvent JavaDoc evt)//GEN-FIRST:event_jRadioButtonMenuItemPreviewXLSActionPerformed
5146
{//GEN-HEADEREND:event_jRadioButtonMenuItemPreviewXLSActionPerformed
5147
this.setReportViewer(IREPORT_XLS_VIEWER);
5148   }//GEN-LAST:event_jRadioButtonMenuItemPreviewXLSActionPerformed
5149

5150   private void jRadioButtonMenuItemPreviewJAVAActionPerformed(java.awt.event.ActionEvent JavaDoc evt)//GEN-FIRST:event_jRadioButtonMenuItemPreviewJAVAActionPerformed
5151
{//GEN-HEADEREND:event_jRadioButtonMenuItemPreviewJAVAActionPerformed
5152
this.setReportViewer(IREPORT_JAVA_VIEWER);
5153   }//GEN-LAST:event_jRadioButtonMenuItemPreviewJAVAActionPerformed
5154

5155   private void jRadioButtonMenuItemPreviewHTMLActionPerformed(java.awt.event.ActionEvent JavaDoc evt)//GEN-FIRST:event_jRadioButtonMenuItemPreviewHTMLActionPerformed
5156
{//GEN-HEADEREND:event_jRadioButtonMenuItemPreviewHTMLActionPerformed
5157
this.setReportViewer(IREPORT_HTML_VIEWER);
5158   }//GEN-LAST:event_jRadioButtonMenuItemPreviewHTMLActionPerformed
5159

5160   private void jMenuItemQuitActionPerformed(java.awt.event.ActionEvent JavaDoc evt)//GEN-FIRST:event_jMenuItemQuitActionPerformed
5161
{//GEN-HEADEREND:event_jMenuItemQuitActionPerformed
5162
this.closeApplication();
5163   }//GEN-LAST:event_jMenuItemQuitActionPerformed
5164

5165   public void paint(java.awt.Graphics JavaDoc g)
5166   {
5167       try {
5168                   super.paint(g);
5169        } catch (Throwable JavaDoc ex)
5170        {
5171            ex.printStackTrace();
5172        }
5173   }
5174
5175    private void formWindowActivated(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_formWindowActivated
5176
// Checking for documents update outside iReport...
5177

5178        if (!catchFormActivated) return;
5179
5180
5181        SwingUtilities.invokeLater(new Runnable JavaDoc() {
5182            public void run() {
5183                try {
5184                    MainFrame.this.run();
5185                } catch (Throwable JavaDoc ex)
5186                {
5187                    ex.printStackTrace();
5188                }
5189            }
5190          } );
5191// if (checkModifiedFielsThread == null || !checkModifiedFielsThread.isAlive()) {
5192
// checkModifiedFielsThread= new Thread( this );
5193
//
5194
// checkModifiedFielsThread.start();
5195
//run();
5196
// }
5197
}//GEN-LAST:event_formWindowActivated
5198

5199
5200    public void openFiles(java.util.List JavaDoc fileList)
5201    {
5202            java.util.Iterator JavaDoc iterator = fileList.iterator();
5203            while (iterator.hasNext())
5204            {
5205              java.io.File JavaDoc file = (java.io.File JavaDoc)iterator.next();
5206              if (file.getName().toLowerCase().endsWith(".jrxml") ||
5207                  file.getName().toLowerCase().endsWith(".jasper"))
5208              {
5209                openFile(file);
5210              }
5211            }
5212    }
5213
5214    public JReportFrame openFile(String JavaDoc filename){
5215
5216        return openFile(new File(filename));
5217    }
5218
5219    public JReportFrame openFile(File file){
5220
5221        JReportFrame reportFrame;
5222        reportFrame = findReportFrameByFile(file);
5223
5224
5225        if( reportFrame == null ){
5226            try {
5227                Report report = new Report(file.getPath());
5228                report.setUsingMultiLineExpressions( false ); //this.isUsingMultiLineExpressions());
5229
reportFrame = openNewReportWindow( report );
5230                report.addReportDocumentStatusChangedListener( this );
5231                setActiveReportForm(reportFrame);
5232            } catch (Exception JavaDoc e ) {
5233                e.printStackTrace();
5234                logOnConsole( e.getMessage() + "\n" );
5235            }
5236
5237        } else {
5238
5239            try {
5240            setActiveReportForm(reportFrame);
5241            } catch (Exception JavaDoc ex)
5242            {
5243                ex.printStackTrace();
5244            }
5245        }
5246
5247
5248        return reportFrame;
5249    }
5250
5251    /**
5252     * openFromStream
5253     * opens a new Report from an InputStream
5254     *
5255     * Author: Felix Firgau
5256     *
5257     * @param inputStream InputStream
5258     * @return JReportFrame
5259     */

5260    public JReportFrame openFromStream(java.io.InputStream JavaDoc inputStream)
5261    {
5262        try {
5263            JReportFrame reportFrame ;
5264            Report report = new Report () ;
5265            ReportReader rr = new ReportReader ( report ) ;
5266            rr.readFromStream ( inputStream ) ;
5267
5268            report.setUsingMultiLineExpressions ( false ) ; //this.isUsingMultiLineExpressions());
5269
reportFrame = openNewReportWindow ( report ) ;
5270            report.addReportDocumentStatusChangedListener ( this ) ;
5271            setActiveReportForm ( reportFrame ) ;
5272
5273            return reportFrame;
5274        }
5275        catch ( IOException ex ) {
5276            ex.printStackTrace();
5277        }
5278        return null;
5279    }
5280
5281    /**
5282     * Test if the passed string is empty.
5283     * @param str
5284     * @return Returns true if empty.
5285     */

5286    private boolean isEmptyString(String JavaDoc str){
5287        return (str == null || str.trim().length() == 0);
5288    }
5289
5290    /**
5291     * Search for a opened file in the iReport Designer.
5292     *
5293     * @param file File to search.
5294     * @return The JReportFrame.
5295     */

5296    private JReportFrame findReportFrameByFile(File fileToSearch){
5297
5298        if(fileToSearch != null){
5299
5300            javax.swing.JInternalFrame JavaDoc[] frames = jMDIDesktopPane.getAllFrames();
5301            JReportFrame jrf;
5302            String JavaDoc frameFilename;
5303
5304            for (int i=0; i< frames.length; ++i) {
5305                if (frames[i] instanceof JReportFrame) {
5306                    jrf = (JReportFrame)frames[i];
5307
5308                    frameFilename = jrf.getReport().getFilename();
5309                    if (!isEmptyString(frameFilename) && fileToSearch.equals(new File(frameFilename))) {
5310                        return jrf;
5311                    }
5312                }
5313            }
5314        }
5315
5316        return null;
5317    }
5318
5319    /**
5320     * Search for a opened file in the iReport Designer.
5321     *
5322     * @param filename Filename to find.
5323     * @return The JReportFrame.
5324     */

5325    private JReportFrame findReportFrameByFilename(String JavaDoc filename){
5326
5327        if(!isEmptyString(filename)){
5328            return findReportFrameByFile(new File(filename));
5329        }
5330
5331        return null;
5332    }
5333
5334
5335    public void checkForModifiedFiles() {
5336
5337
5338        javax.swing.JInternalFrame JavaDoc[] frames = jMDIDesktopPane.getAllFrames();
5339        String JavaDoc filename;
5340        JReportFrame jrf;
5341        long time;
5342        Report report;
5343        int res;
5344
5345        try {
5346        for (int i=0; i< frames.length; ++i) {
5347
5348            if (frames[i] instanceof JReportFrame) {
5349
5350                jrf = (JReportFrame)frames[i];
5351                filename = jrf.getReport().getFilename();
5352
5353                if ( !isEmptyString(filename) ) {
5354
5355                    time = Misc.getLastWriteTime(filename);
5356
5357                    if (jrf.getReport().getLoadTime() < time ) {
5358
5359                        //System.out.println("Trovato: "+filename);
5360
res = javax.swing.JOptionPane.CANCEL_OPTION;
5361
5362                        if (getProperties().getProperty("AutoReload","false").equals("true"))
5363                        {
5364                            res = javax.swing.JOptionPane.OK_OPTION;
5365                        }
5366                        else
5367                        {
5368                            res = javax.swing.JOptionPane.showConfirmDialog(this,
5369                                    I18n.getFormattedString("messages.fileModifiedOutsideIReport",
5370                                    "{0} \n\nThis file has been modified outside iReport.Do you want reload it?", new Object JavaDoc[]{filename}),
5371                                    "iReport",javax.swing.JOptionPane.INFORMATION_MESSAGE);
5372                        }
5373
5374                        if (res == javax.swing.JOptionPane.OK_OPTION) {
5375
5376                            //setCurrentZoomFactor( jrf.getZoomFactor() );
5377
int positionInList = 0;
5378                            DefaultMutableTreeNode root = (DefaultMutableTreeNode)this.jTreeFiles.getModel().getRoot();
5379                            for (positionInList=0; positionInList<root.getChildCount(); ++positionInList)
5380                            {
5381                                DefaultMutableTreeNode documentEntryNode = (DefaultMutableTreeNode)root.getChildAt(positionInList);
5382                                DocumentTreeEntry dte = (DocumentTreeEntry)documentEntryNode.getUserObject();
5383                                if (dte.getJrf() == jrf)
5384                                {
5385                                    break;
5386                                }
5387                            }
5388
5389                            jrf.setDefaultCloseOperation( jrf.DISPOSE_ON_CLOSE );
5390                            jrf.doDefaultCloseAction();
5391                            openFile(filename);
5392
5393
5394                            if (positionInList < root.getChildCount()-1)
5395                            {
5396                                // Move the last entry to the correct position...
5397
DefaultMutableTreeNode documentEntryNode = (DefaultMutableTreeNode)root.getChildAt( root.getChildCount()-1 );
5398                                root.remove(documentEntryNode);
5399                                root.insert(documentEntryNode, positionInList);
5400                                jTreeFiles.updateUI();
5401                            }
5402                            //setCurrentZoomFactor( 1.0 ); //reset
5403

5404                        } else
5405                        {
5406                            jrf.getReport().setLoadTime(time);
5407                        }
5408                    }else if (time < 0) //File removed!
5409
{
5410                            //jrf.getReport().setLoadTime( new java.util.Date().getTime() );
5411
jrf.getReport().incrementReportChanges();
5412                    }
5413                }
5414            }
5415        }
5416        } catch (Throwable JavaDoc ex)
5417        {
5418            ex.printStackTrace();
5419        }
5420
5421    }
5422
5423    /**
5424     *Used to determine if a save all is required.
5425     */

5426    public boolean isSaveAllRequired() {
5427        boolean ret = false;
5428        javax.swing.JInternalFrame JavaDoc[] frames = jMDIDesktopPane.getAllFrames();
5429        for (int i=0; i< frames.length; ++i) {
5430            if (frames[i] instanceof JReportFrame) {
5431                JReportFrame jrf = (JReportFrame)frames[i];
5432                Report checkMe = jrf.getReport();
5433                if( checkMe == null ) {
5434                    ret = ( ret || false );
5435                }
5436                else {
5437                    ret = ( ret || checkMe.isModified() );
5438                }
5439            }//end if instance of JReportFrame
5440
}//end for frames
5441
return ret;
5442    }//end isSaveAllRequired
5443

5444    private void jMenuItemXMLSourceActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemXMLSourceActionPerformed
5445
if (jMDIDesktopPane.getSelectedFrame() != null &&
5446        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5447            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5448            if (jrf.getReport().getFilename() == null ||
5449            jrf.getReport().getFilename().equals("")) {
5450                int res = javax.swing.JOptionPane.showConfirmDialog(this,
5451                        I18n.getString("messages.mustSaveFile",
5452                        "You must save your file before editing it with an external editor!\nSave it now ?"),"",javax.swing.JOptionPane.INFORMATION_MESSAGE);
5453                if (res == javax.swing.JOptionPane.OK_OPTION) {
5454                    jMenuItemSaveActionPerformed(evt);
5455                }
5456                else
5457                    return;
5458            }
5459            else {
5460                int res = javax.swing.JOptionPane.OK_OPTION;
5461                if (jrf.getReport().isModified())
5462                {
5463                    res = javax.swing.JOptionPane.showConfirmDialog(this,
5464                            I18n.getString("messages.fileModifiedLaunchingEditor",
5465                            "The document has been modified!\nWould you like to save it before launching the external editor?"),"",javax.swing.JOptionPane.INFORMATION_MESSAGE);
5466                }
5467                if (res == javax.swing.JOptionPane.OK_OPTION) {
5468                    jMenuItemSaveActionPerformed(evt);
5469                }
5470            }
5471            if (jrf.getReport().getFilename() == null ||
5472            jrf.getReport().getFilename().equals("")) return;
5473
5474            Runtime JavaDoc rt = Runtime.getRuntime();
5475            String JavaDoc editor = "notepad.exe";
5476            try {
5477                if (this.getProperties().getProperty("ExternalEditor")!=null)
5478                    editor = (String JavaDoc)this.getProperties().getProperty("ExternalEditor");
5479                if (editor == null || editor.equals("")) {
5480                    
5481                    
5482                    this.logOnConsole(I18n.getString("messages.useNotepad", "Using notepad.exe as default editor!\n"),false);
5483                    editor = "notepad.exe";
5484                }
5485
5486                // WRONG ON UNIX: rt.exec(editor+ " \"" +jrf.getReport().getFilename()+"\"");
5487
// String tokenizer wasn't parsing the command and arguments
5488
// properly, so pass them in as separate elements.
5489
rt.exec(new String JavaDoc[] { editor, jrf.getReport().getFilename() });
5490            } catch (Exception JavaDoc ex) {
5491                
5492                javax.swing.JOptionPane.showMessageDialog(this,
5493                        I18n.getFormattedString("messages.errorExecutingEditor",
5494                        "An exception is occured executing:\n{0} \"{1}\"",new Object JavaDoc[]{editor,jrf.getReport().getFilename()}) ,"",javax.swing.JOptionPane.ERROR_MESSAGE);
5495            }
5496        }
5497    }//GEN-LAST:event_jMenuItemXMLSourceActionPerformed
5498

5499    public void jMenuItemVSRemoveActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemVSRemoveActionPerformed
5500
//formatMenuPerformed( OperationType.REMOVE_SPACE_V);
5501
FormatCommand.getCommand(OperationType.REMOVE_SPACE_V ).execute();
5502    }//GEN-LAST:event_jMenuItemVSRemoveActionPerformed
5503

5504    public void jMenuItemVSDecreaseActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemVSDecreaseActionPerformed
5505
FormatCommand.getCommand(OperationType.DECREASE_SPACE_V).execute();
5506    }//GEN-LAST:event_jMenuItemVSDecreaseActionPerformed
5507

5508    public void jMenuItemVSMakeEqualActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemVSMakeEqualActionPerformed
5509
FormatCommand.getCommand(OperationType.EQUALS_SPACE_V).execute();
5510    }//GEN-LAST:event_jMenuItemVSMakeEqualActionPerformed
5511

5512    public void jMenuItemHSRemoveActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemHSRemoveActionPerformed
5513
FormatCommand.getCommand(OperationType.REMOVE_SPACE_H).execute();
5514    }//GEN-LAST:event_jMenuItemHSRemoveActionPerformed
5515

5516    public void jMenuItemHSIncreaseActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemHSIncreaseActionPerformed
5517
FormatCommand.getCommand(OperationType.INCREASE_SPACE_H).execute();
5518    }//GEN-LAST:event_jMenuItemHSIncreaseActionPerformed
5519

5520    public void jMenuItemHSMakeEqualActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemHSMakeEqualActionPerformed
5521
FormatCommand.getCommand(OperationType.EQUALS_SPACE_H).execute();
5522    }//GEN-LAST:event_jMenuItemHSMakeEqualActionPerformed
5523

5524    public void jMenuItemJoinRightActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemJoinRightActionPerformed
5525
FormatCommand.getCommand(OperationType.JOIN_RIGHT).execute();
5526    }//GEN-LAST:event_jMenuItemJoinRightActionPerformed
5527

5528    public void jMenuItemJoinLeftActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemJoinLeftActionPerformed
5529
FormatCommand.getCommand(OperationType.JOIN_LEFT).execute();
5530    }//GEN-LAST:event_jMenuItemJoinLeftActionPerformed
5531

5532    public void jMenuItemCenterBackgroundActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCenterBackgroundActionPerformed
5533
FormatCommand.getCommand(OperationType.CENTER_IN_BACKGROUND).execute();
5534    }//GEN-LAST:event_jMenuItemCenterBackgroundActionPerformed
5535

5536    public void jMenuItemCenterInBandActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCenterInBandActionPerformed
5537
FormatCommand.getCommand(OperationType.CENTER_IN_BAND).execute();
5538    }//GEN-LAST:event_jMenuItemCenterInBandActionPerformed
5539

5540    public void jMenuItemCenterVActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCenterVActionPerformed
5541
FormatCommand.getCommand(OperationType.CENTER_IN_BAND_V).execute();
5542    }//GEN-LAST:event_jMenuItemCenterVActionPerformed
5543

5544    public void jMenuItemCenterHActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCenterHActionPerformed
5545
FormatCommand.getCommand(OperationType.CENTER_IN_BAND_H).execute();
5546    }//GEN-LAST:event_jMenuItemCenterHActionPerformed
5547

5548    public void jMenuItemSameSizeActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSameSizeActionPerformed
5549
FormatCommand.getCommand(OperationType.SAME_SIZE).execute();
5550    }//GEN-LAST:event_jMenuItemSameSizeActionPerformed
5551

5552    public void jMenuItemSameHeightMaxActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSameHeightMaxActionPerformed
5553
FormatCommand.getCommand(OperationType.SAME_HEIGHT_MAX).execute();
5554    }//GEN-LAST:event_jMenuItemSameHeightMaxActionPerformed
5555

5556    public void jMenuItemSameHeightMinActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSameHeightMinActionPerformed
5557
FormatCommand.getCommand(OperationType.SAME_HEIGHT_MIN).execute();
5558    }//GEN-LAST:event_jMenuItemSameHeightMinActionPerformed
5559

5560    public void jMenuItemSameHeightActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSameHeightActionPerformed
5561
FormatCommand.getCommand(OperationType.SAME_HEIGHT).execute();
5562    }//GEN-LAST:event_jMenuItemSameHeightActionPerformed
5563

5564    public void jMenuItemSameWidthMinActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSameWidthMinActionPerformed
5565
FormatCommand.getCommand(OperationType.SAME_WIDTH_MIN).execute();
5566    }//GEN-LAST:event_jMenuItemSameWidthMinActionPerformed
5567

5568    public void jMenuItemSameWidthMaxActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSameWidthMaxActionPerformed
5569
FormatCommand.getCommand(OperationType.SAME_WIDTH_MAX).execute();
5570    }//GEN-LAST:event_jMenuItemSameWidthMaxActionPerformed
5571

5572    public void jMenuItemSameWidthActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSameWidthActionPerformed
5573
FormatCommand.getCommand(OperationType.SAME_WIDTH).execute();
5574    }//GEN-LAST:event_jMenuItemSameWidthActionPerformed
5575

5576    public void jMenuItemAlignToBandBottomActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAlignToBandBottomActionPerformed
5577
FormatCommand.getCommand(OperationType.ALIGN_BOTTOM_TO_BAND).execute();
5578    }//GEN-LAST:event_jMenuItemAlignToBandBottomActionPerformed
5579

5580    public void jMenuItemAlignToBandTopActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAlignToBandTopActionPerformed
5581
FormatCommand.getCommand(OperationType.ALIGN_TOP_TO_BAND).execute();
5582    }//GEN-LAST:event_jMenuItemAlignToBandTopActionPerformed
5583

5584    public void jMenuItemAlignHorizontalAxisActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAlignHorizontalAxisActionPerformed
5585
FormatCommand.getCommand(OperationType.ALIGN_HORIZONTAL_AXIS).execute();
5586    }//GEN-LAST:event_jMenuItemAlignHorizontalAxisActionPerformed
5587

5588    public void jMenuItemAlignVerticalAxisActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAlignVerticalAxisActionPerformed
5589
FormatCommand.getCommand(OperationType.ALIGN_VERTICAL_AXIS).execute();
5590    }//GEN-LAST:event_jMenuItemAlignVerticalAxisActionPerformed
5591

5592    public void jMenuItemAlignBottomActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAlignBottomActionPerformed
5593
FormatCommand.getCommand(OperationType.ALIGN_BOTTOM).execute();
5594    }//GEN-LAST:event_jMenuItemAlignBottomActionPerformed
5595

5596    public void jMenuItemAlignTopActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAlignTopActionPerformed
5597
FormatCommand.getCommand(OperationType.ALIGN_TOP).execute();
5598    }//GEN-LAST:event_jMenuItemAlignTopActionPerformed
5599

5600    public void jMenuItemAlignRightActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAlignRightActionPerformed
5601
FormatCommand.getCommand(OperationType.ALIGN_RIGHT).execute();
5602
5603    }//GEN-LAST:event_jMenuItemAlignRightActionPerformed
5604

5605    /*
5606    public void formatMenuPerformed(int operationType) {
5607        if (jMDIDesktopPane.getSelectedFrame() != null &&
5608        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5609            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5610            jrf.makeOperation( operationType );
5611            if (jrf.getSelectedElements().size()>0)
5612                updateDocumentStructureTree(jrf);
5613        }
5614    }
5615    */

5616
5617    public void jMenuItemAlignLeftActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAlignLeftActionPerformed
5618
// Align all element to left....
5619
FormatCommand.getCommand(OperationType.ALIGN_LEFT).execute();
5620    }//GEN-LAST:event_jMenuItemAlignLeftActionPerformed
5621

5622    private void jRadioButtonMenuItemPreviewInternalViewerActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonMenuItemPreviewInternalViewerActionPerformed
5623
this.setReportViewer(IREPORT_JASPER_VIEWER);
5624    }//GEN-LAST:event_jRadioButtonMenuItemPreviewInternalViewerActionPerformed
5625

5626    public void jMenuItemSendToBackActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSendToBackActionPerformed
5627
if (jMDIDesktopPane.getSelectedFrame() != null &&
5628        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5629            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5630            jrf.sendToBack();
5631            if (jrf.getSelectedElements().size()>0)
5632                getDocumentStructurePanel().updateDocumentStructureTree(jrf);
5633        }
5634    }//GEN-LAST:event_jMenuItemSendToBackActionPerformed
5635

5636    public void jMenuItemBringToFrontActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemBringToFrontActionPerformed
5637

5638        if (jMDIDesktopPane.getSelectedFrame() != null &&
5639        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5640            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5641            jrf.bringToFront();
5642            if (jrf.getSelectedElements().size()>0)
5643                getDocumentStructurePanel().updateDocumentStructureTree(jrf);
5644        }
5645    }//GEN-LAST:event_jMenuItemBringToFrontActionPerformed
5646

5647    private void jMenuItemWizardActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemWizardActionPerformed
5648

5649      newWizard();
5650    }//GEN-LAST:event_jMenuItemWizardActionPerformed
5651

5652    public Report newWizard() {
5653        /*
5654        if (this.getProperties().get("DefaultConnection") == null ||
5655        !( this.getProperties().get("DefaultConnection") instanceof it.businesslogic.ireport.connection.JDBCConnection) ) {
5656            javax.swing.JOptionPane.showMessageDialog(this, "Before start the Wizard, you must configure a JDBC connection\nand set it the active connection.\n\nIf you have already created and tested a JDBC connection go to the menu\nbuild->set active connection and select your entry.\nIf you have not yet setup a JDBC connection go to\nDatasources->Connection/Datasources to create one.","",javax.swing.JOptionPane.ERROR_MESSAGE);
5657            return;
5658        }
5659        */

5660
5661        WizardDialog wd = new WizardDialog(this,true);
5662        wd.setVisible(true);
5663        if (wd.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
5664            Report report = wd.getReport();
5665            if (report != null) {
5666                // Name the report...
5667

5668                openNewReportWindow(report);
5669                return report;
5670            }
5671        }
5672      return null;
5673    }
5674
5675    private void jMenuItemReportPropertiesActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemReportPropertiesActionPerformed
5676
if (jMDIDesktopPane.getSelectedFrame() != null &&
5677        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5678            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5679            ReportPropertiesFrame rpf = new ReportPropertiesFrame(this,true);
5680            rpf.setModal(true);
5681
5682            rpf.setBottomMargin( jrf.getReport().getBottomMargin());
5683
5684            //rpf.setGlobalUnit( jrf.getReport().getGlobalUnit());
5685

5686            rpf.setLeftMargin(jrf.getReport().getLeftMargin());
5687            rpf.setOrientation( jrf.getReport().getOrientation());
5688            rpf.setPrintOrder( jrf.getReport().getPrintOrder());
5689            rpf.setReportFormat( jrf.getReport().getReportFormat());
5690            rpf.setReportHeight( jrf.getReport().getHeight());
5691            rpf.setReportName( jrf.getReport().getName());
5692            rpf.setReportWidth( jrf.getReport().getWidth());
5693            rpf.setRightMargin( jrf.getReport().getRightMargin());
5694            rpf.setScriptletClass( jrf.getReport().getScriptletClass());
5695            rpf.setScriptletHandling( jrf.getReport().getScriptletHandling() );
5696            rpf.setSummaryOnNewPage( jrf.getReport().isIsSummaryNewPage());
5697            rpf.setTitleOnNewPage(jrf.getReport().isIsTitleNewPage());
5698            rpf.setTopMargin( jrf.getReport().getTopMargin());
5699            rpf.setWhenNoDataType( jrf.getReport().getWhenNoDataType());
5700            rpf.setXmlEncoding( jrf.getReport().getEncoding());
5701            rpf.setFloatColumnFooter( jrf.getReport().isFloatColumnFooter());
5702            rpf.setResourceBundleBaseName( jrf.getReport().getResourceBundleBaseName() );
5703            rpf.setLanguage( jrf.getReport().getLanguage() );
5704            rpf.setWhenResourceMissingType( jrf.getReport().getWhenResourceMissingType());
5705            rpf.setIgnorePagination( jrf.getReport().isIgnorePagination());
5706            rpf.setFormatFactoryClass(jrf.getReport().getFormatFactoryClass());
5707
5708            rpf.setColumns( jrf.getReport().getColumnCount());
5709            rpf.setColumnsSpacing( jrf.getReport().getColumnSpacing());
5710            rpf.setColumnsWidth( jrf.getReport().getColumnWidth());
5711
5712            //System.out.println("Il nome :"+rpf.getReportName()+" (old)");
5713
rpf.setVisible(true);
5714            if (rpf.getDialogResult() == JOptionPane.OK_OPTION) {
5715                // Change report...
5716
jrf.getReport().incrementReportChanges();
5717                //javax.swing.JOptionPane.showMessageDialog(null,""+rpf.getReportName());
5718
// First all fields that don't modify layout...
5719
jrf.getReport().setWidth(rpf.getReportWidth());
5720                jrf.getReport().setHeight(rpf.getReportHeight());
5721                jrf.getReport().setOrientation(rpf.getOrientation());
5722                jrf.getReport().setName(rpf.getReportName());
5723                int oldTop = jrf.getReport().getTopMargin();
5724                jrf.getReport().setTopMargin(rpf.getTopMargin());
5725                int differenceY = jrf.getReport().getTopMargin() - oldTop;
5726
5727                int oldLeft = jrf.getReport().getLeftMargin();
5728                jrf.getReport().setLeftMargin(rpf.getLeftMargin());
5729                int differenceX = jrf.getReport().getLeftMargin() - oldLeft;
5730                if (differenceX != 0 || differenceY != 0) {
5731                    Enumeration e = jrf.getReport().getElements().elements();
5732                    while (e.hasMoreElements()) {
5733                        ReportElement re = (ReportElement)e.nextElement();
5734                        re.trasform(new java.awt.Point JavaDoc(differenceX,differenceY), TransformationType.TRANSFORMATION_MOVE);
5735                    }
5736                }
5737
5738                jrf.getReport().setLanguage(rpf.getLanguage());
5739                jrf.getReport().setRightMargin(rpf.getRightMargin());
5740                jrf.getReport().setBottomMargin(rpf.getBottomMargin());
5741                jrf.getReport().setColumnCount(rpf.getColumns());
5742                jrf.getReport().setColumnWidth(rpf.getColumnsWidth());
5743                jrf.getReport().setColumnSpacing(rpf.getColumnsSpacing());
5744                jrf.getReport().setIsSummaryNewPage(rpf.isSummaryOnNewPage());
5745                jrf.getReport().setIsTitleNewPage(rpf.isTitleOnNewPage());
5746                jrf.getReport().setWhenNoDataType(rpf.getWhenNoDataType());
5747                jrf.getReport().setScriptletClass(rpf.getScriptletClass());
5748                jrf.getReport().setEncoding(rpf.getXmlEncoding());
5749                jrf.getReport().setPrintOrder(rpf.getPrintOrder());
5750                jrf.getReport().setReportFormat(rpf.getReportFormat());
5751                jrf.getReport().setFloatColumnFooter(rpf.isFloatColumnFooter());
5752                jrf.getReport().setScriptletHandling( rpf.getScriptletHandling() );
5753                jrf.getReport().setResourceBundleBaseName( rpf.getResourceBundleBaseName() );
5754                jrf.getReport().setWhenResourceMissingType( rpf.getWhenResourceMissingType());
5755                jrf.getReport().setIgnorePagination(rpf.isIgnorePagination());
5756                jrf.getReport().setFormatFactoryClass(rpf.getFormatFactoryClass());
5757
5758                this.setTitle(constTitle + " ["+ jrf.getReport().getName() + " "+ jrf.getReport().getWidth()+"x"+jrf.getReport().getHeight()+" "+jrf.getReport().getFilename()+" "+(jrf.getReport().isReadOnly()?"(READ ONLY) ":"")+"]");
5759                jrf.updateTitle();
5760                // Aggiorniamo il menu attivo...
5761
java.awt.Component JavaDoc[] menus = this.jMenuWindow.getMenuComponents();
5762                int frame = 0;
5763                for (int k = 0; k<menus.length ; ++k) {
5764                    //javax.swing.JOptionPane.showMessageDialog(this,"Menu: " + menus[k] );
5765

5766
5767                    if (menus[k] instanceof JRadioButtonMenuItemMDIFrame) {
5768                        frame++;
5769
5770                        JRadioButtonMenuItemMDIFrame mri = (JRadioButtonMenuItemMDIFrame)menus[k];
5771                        //((JRadioButtonMenuItemMDIFrame)menus[k]).getFrame() == jrf)
5772
if ( mri.isSelected() ) {
5773                            //javax.swing.JOptionPane.showMessageDialog( this, "Selected" + frame +" "+text);
5774
mri.setText(frame + ". " + jrf.getTitle());
5775                            break;
5776                        }
5777                    }
5778                }
5779
5780                jrf.setIsDocDirty(true);
5781                jrf.updateScrollBars();
5782                jrf.getJPanelReport().repaint();
5783            }
5784        }
5785    }//GEN-LAST:event_jMenuItemReportPropertiesActionPerformed
5786

5787    private void jMenuItemGroupsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemGroupsActionPerformed
5788
jButtonGroupsActionPerformed(evt);
5789    }//GEN-LAST:event_jMenuItemGroupsActionPerformed
5790

5791    public void jMenuItemBandsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemBandsActionPerformed
5792
jButtonBandsActionPerformed(evt);
5793    }//GEN-LAST:event_jMenuItemBandsActionPerformed
5794

5795    private void jMenuItemElementPropertiesActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemElementPropertiesActionPerformed
5796
this.getElementPropertiesDialog().setVisible(true);
5797        //this.getElementPropertiesDialog().updateSelection();
5798
}//GEN-LAST:event_jMenuItemElementPropertiesActionPerformed
5799

5800    private void jMenuItemParametersActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemParametersActionPerformed
5801
jButtonParametersActionPerformed(evt);
5802        this.getValuesDialog().gotoTab("Parameters");
5803    }//GEN-LAST:event_jMenuItemParametersActionPerformed
5804

5805    private void jMenuItemVariablesActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemVariablesActionPerformed
5806
jButtonParametersActionPerformed(evt);
5807        this.getValuesDialog().gotoTab("Variables");
5808    }//GEN-LAST:event_jMenuItemVariablesActionPerformed
5809

5810    private void jMenuItemFieldsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemFieldsActionPerformed
5811
jButtonParametersActionPerformed(evt);
5812        this.getValuesDialog().gotoTab("Fields");
5813    }//GEN-LAST:event_jMenuItemFieldsActionPerformed
5814

5815    private void jMenuItemReportQueryActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemReportQueryActionPerformed
5816
jButtonDatabaseActionPerformed(evt);
5817    }//GEN-LAST:event_jMenuItemReportQueryActionPerformed
5818

5819    private void jMenuItemExecuteDBActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemExecuteDBActionPerformed
5820
jButtonRun2ActionPerformed(evt);
5821    }//GEN-LAST:event_jMenuItemExecuteDBActionPerformed
5822

5823    private void jMenuItemExecuteActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemExecuteActionPerformed
5824
jButtonRun1ActionPerformed(evt);
5825    }//GEN-LAST:event_jMenuItemExecuteActionPerformed
5826

5827    private void jButtonPasteActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonPasteActionPerformed
5828
jMenuItemPasteActionPerformed(evt);
5829    }//GEN-LAST:event_jButtonPasteActionPerformed
5830

5831    private void jButtonCopyActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCopyActionPerformed
5832
jMenuItemCopyActionPerformed(evt);
5833    }//GEN-LAST:event_jButtonCopyActionPerformed
5834

5835    private void jButtonCutActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCutActionPerformed
5836
jMenuItemCutActionPerformed(evt);
5837    }//GEN-LAST:event_jButtonCutActionPerformed
5838

5839    private void jMenuItemPasteActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemPasteActionPerformed
5840
if (jMDIDesktopPane.getSelectedFrame() != null &&
5841        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5842            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5843            jrf.paste();
5844        }
5845    }//GEN-LAST:event_jMenuItemPasteActionPerformed
5846

5847    private void jMenuItemCopyActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCopyActionPerformed
5848
if (jMDIDesktopPane.getSelectedFrame() != null &&
5849        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5850            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5851            jrf.copy();
5852            if (getClipBoard().size()>0) {
5853                this.jMenuItemPaste.setEnabled(true);
5854                this.jButtonPaste.setEnabled(true);
5855            }
5856            else {
5857                this.jMenuItemPaste.setEnabled(false);
5858                this.jButtonPaste.setEnabled(false);
5859            }
5860        }
5861    }//GEN-LAST:event_jMenuItemCopyActionPerformed
5862

5863    private void jMenuItemCutActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCutActionPerformed
5864
if (jMDIDesktopPane.getSelectedFrame() != null &&
5865        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5866            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5867            jrf.cut();
5868        }
5869    }//GEN-LAST:event_jMenuItemCutActionPerformed
5870

5871    private void jButtonRun2ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonRun2ActionPerformed
5872
compileAndRun2();
5873    }//GEN-LAST:event_jButtonRun2ActionPerformed
5874

5875    public IReportCompiler compileAndRun2()
5876    {
5877        // 1. Get active report...
5878
if (jMDIDesktopPane.getSelectedFrame() != null &&
5879        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5880            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5881            if (Misc.nvl(this.getProperties().getProperty("SaveBeforeCompiling"), "true").equals("true") && jrf.getReport().isModified())
5882                jMenuItemSaveActionPerformed(new java.awt.event.ActionEvent JavaDoc(jMenuItemSave,0,"Save"));
5883            //1. Save the report if needed....
5884
if (jrf.getReport().getReportChanges() > 0 ||
5885            jrf.getReport().getFilename() == null ||
5886            jrf.getReport().getFilename().trim().equals("")) {
5887                this.logOnConsole(I18n.getString("messages.actionAbortedByUser", "Action aborted by user.\n"),false);
5888                return null;
5889            }
5890
5891            //clearConsole();
5892
//1. Compile....
5893
IReportCompiler ic = new IReportCompiler();
5894
5895            ic.setThreadList( jListThreads );
5896            ic.setCommand( IReportCompiler.CMD_COMPILE | IReportCompiler.CMD_EXPORT);
5897
5898            if (jrf.getReport().getScriptletHandling() == jrf.getReport().SCRIPTLET_IREPORT_INTERNAL_HANDLING) {
5899                ic.setCommand( ic.getCommand() | IReportCompiler.CMD_COMPILE_SCRIPTLET);
5900            }
5901
5902
5903            HashMap hm = new HashMap();
5904            hm.put( ic.USE_EMPTY_DATASOURCE, "false");
5905
5906            if (this.getProperties().get("DefaultConnection") == null ) {
5907                    javax.swing.JOptionPane.showMessageDialog(this,
5908                            I18n.getString("messages.connectionNotConfigured",
5909                            "You must configure a JDBC connection\nand set it the active connection.\n\nIf you have already created and tested a JDBC connection go to the menu\nbuild->set active connection and select your entry.\nIf you have not yet setup a JDBC connection go to\nDatasources->Connection/Datasources to create one."),
5910                            "",javax.swing.JOptionPane.ERROR_MESSAGE);
5911                    return null;
5912            }
5913
5914            IReportConnection connection = (IReportConnection)this.getProperties().get("DefaultConnection");
5915
5916
5917            //if (connection instanceof it.businesslogic.ireport.connection.JDBCConnection)
5918
//{
5919
// javax.swing.JOptionPane.showMessageDialog(null, ((it.businesslogic.ireport.connection.JDBCConnection)connection).getJDBCDriver());
5920
//}
5921

5922            hm.put( ic.USE_CONNECTION, "true");
5923            hm.put( ic.CONNECTION, connection);
5924            hm.put( ic.OUTPUT_DIRECTORY, getTranslatedCompileDirectory());
5925
5926            if (jrf.getReport().getLanguage().equals("groovy"))
5927            {
5928                hm.put( ic.COMPILER, "net.sf.jasperreports.compilers.JRGroovyCompiler");
5929            }
5930
5931            ic.setProperties(hm);
5932
5933            if (jRadioButtonMenuItemPreviewCSV.isSelected()) hm.put( ic.OUTPUT_FORMAT, "csv");
5934            else if (jRadioButtonMenuItemPreviewHTML.isSelected()) hm.put( ic.OUTPUT_FORMAT, "html");
5935            else if (jRadioButtonMenuItemPreviewXLS.isSelected()) hm.put( ic.OUTPUT_FORMAT, "xls");
5936            else if (jRadioButtonMenuItemPreviewXLS2.isSelected()) hm.put( ic.OUTPUT_FORMAT, "xls2");
5937            //else if (jRadioButtonMenuItemPreviewJAVA.isSelected()) hm.put( ic.OUTPUT_FORMAT, "java");
5938
else if (jRadioButtonMenuItemPreviewInternalViewer.isSelected()) hm.put( ic.OUTPUT_FORMAT, "jrviewer");
5939            else if (jRadioButtonMenuItemPreviewTXT.isSelected()) hm.put( ic.OUTPUT_FORMAT, "txt");
5940            else if (jRadioButtonMenuItemPreviewTXTJR.isSelected()) hm.put( ic.OUTPUT_FORMAT, "txtjr");
5941            else if (jRadioButtonMenuItemPreviewRTF.isSelected()) hm.put( ic.OUTPUT_FORMAT, "rtf");
5942            else
5943                hm.put( ic.OUTPUT_FORMAT, "pdf");
5944
5945            ic.setProperties(hm);
5946            ic.setJrf(jrf);
5947            ic.setMainFrame(this);
5948
5949            ic.start();
5950            return ic;
5951        }
5952        return null;
5953    }
5954
5955    private void jMenuItemDeleteActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemDeleteActionPerformed
5956

5957        if (jMDIDesktopPane.getSelectedFrame() != null &&
5958        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5959            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5960
5961            jrf.delete();
5962        }
5963
5964    }//GEN-LAST:event_jMenuItemDeleteActionPerformed
5965

5966    private void jMenuItemRedoActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemRedoActionPerformed
5967
if (jMDIDesktopPane.getSelectedFrame() != null &&
5968        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5969            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5970
5971            jrf.redo();
5972            this.updateUndoMenu(jrf);
5973
5974
5975                if (jrf.getSelectedElements().size()>0)
5976                    getDocumentStructurePanel().updateDocumentStructureTree(jrf);
5977            }
5978
5979    }//GEN-LAST:event_jMenuItemRedoActionPerformed
5980

5981    private void jMenuItemUndoActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemUndoActionPerformed
5982
if (jMDIDesktopPane.getSelectedFrame() != null &&
5983        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
5984            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
5985
5986            jrf.undo();
5987            this.updateUndoMenu(jrf);
5988
5989            if (jrf.getSelectedElements().size()>0)
5990                getDocumentStructurePanel().updateDocumentStructureTree(jrf);
5991        }
5992    }//GEN-LAST:event_jMenuItemUndoActionPerformed
5993

5994    private void jTreeFilesValueChanged(javax.swing.event.TreeSelectionEvent JavaDoc evt) {//GEN-FIRST:event_jTreeFilesValueChanged
5995
// Select all selected elements...
5996

5997
5998    }//GEN-LAST:event_jTreeFilesValueChanged
5999

6000    private void jMenuItemAboutActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemAboutActionPerformed
6001

6002        IReportAbout ra = new IReportAbout(this, true);
6003        ra.setVisible(true);
6004    }//GEN-LAST:event_jMenuItemAboutActionPerformed
6005

6006    private void jButtonRun1ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonRun1ActionPerformed
6007
compileAndRun1(evt != null && (evt.getModifiers() & evt.SHIFT_MASK) != 0);
6008    }//GEN-LAST:event_jButtonRun1ActionPerformed
6009

6010    public IReportCompiler compileAndRun1() {
6011        return compileAndRun1(false);
6012    }
6013
6014    public IReportCompiler compileAndRun1(boolean emptyRecord) {
6015        // 1. Get active report...
6016
if (jMDIDesktopPane.getSelectedFrame() != null &&
6017        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
6018            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
6019            if (Misc.nvl(this.getProperties().getProperty("SaveBeforeCompiling"), "true").equals("true") && jrf.getReport().isModified())
6020                jMenuItemSaveActionPerformed(new java.awt.event.ActionEvent JavaDoc(jMenuItemSave,0,"Save"));
6021            //1. Save the report if needed....
6022
if (jrf.getReport().getReportChanges() > 0 ||
6023            jrf.getReport().getFilename() == null ||
6024            jrf.getReport().getFilename().trim().equals("")) {
6025                this.logOnConsole(I18n.getString("messages.actionAbortedByUser", "Action aborted by user.\n"),false);
6026                return null;
6027            }
6028
6029            //clearConsole();
6030
//1. Compile....
6031
IReportCompiler ic = new IReportCompiler();
6032
6033            ic.setThreadList( jListThreads );
6034            ic.setCommand( IReportCompiler.CMD_COMPILE | IReportCompiler.CMD_EXPORT);
6035
6036            if (jrf.getReport().getScriptletHandling() == jrf.getReport().SCRIPTLET_IREPORT_INTERNAL_HANDLING) {
6037                ic.setCommand( ic.getCommand() | IReportCompiler.CMD_COMPILE_SCRIPTLET);
6038            }
6039
6040            HashMap hm = new HashMap();
6041            hm.put( ic.USE_EMPTY_DATASOURCE, "true");
6042            Integer JavaDoc records = new Integer JavaDoc(1);
6043
6044            if (emptyRecord)
6045            {
6046                String JavaDoc s = null;
6047
6048                while (true)
6049                {
6050                    s = JOptionPane.showInputDialog(this,
6051                            I18n.getString("messages.setRecordNumber","Set the number of empty records"),"1");
6052
6053                    if (s == null) break;
6054                    try {
6055                        int recs = Integer.parseInt(s);
6056                        records = new Integer JavaDoc(recs);
6057                        break;
6058                    } catch (Exception JavaDoc ex)
6059                    {
6060
6061                    }
6062                }
6063            }
6064
6065            hm.put( ic.EMPTY_DATASOURCE_RECORDS, records);
6066            hm.put( ic.OUTPUT_DIRECTORY, getTranslatedCompileDirectory());
6067
6068            if (jrf.getReport().getLanguage().equals("groovy"))
6069            {
6070                hm.put( ic.COMPILER, "net.sf.jasperreports.compilers.JRGroovyCompiler");
6071            }
6072
6073            ic.setProperties(hm);
6074
6075            if (jRadioButtonMenuItemPreviewCSV.isSelected()) hm.put( ic.OUTPUT_FORMAT, "csv");
6076            else if (jRadioButtonMenuItemPreviewHTML.isSelected()) hm.put( ic.OUTPUT_FORMAT, "html");
6077            else if (jRadioButtonMenuItemPreviewXLS.isSelected()) hm.put( ic.OUTPUT_FORMAT, "xls");
6078            else if (jRadioButtonMenuItemPreviewXLS2.isSelected()) hm.put( ic.OUTPUT_FORMAT, "xls2");
6079            //else if (jRadioButtonMenuItemPreviewJAVA.isSelected()) hm.put( ic.OUTPUT_FORMAT, "java");
6080
else if (jRadioButtonMenuItemPreviewInternalViewer.isSelected()) hm.put( ic.OUTPUT_FORMAT, "jrviewer");
6081            else if (jRadioButtonMenuItemPreviewTXT.isSelected()) hm.put( ic.OUTPUT_FORMAT, "txt");
6082            else if (jRadioButtonMenuItemPreviewTXTJR.isSelected()) hm.put( ic.OUTPUT_FORMAT, "txtjr");
6083            else if (jRadioButtonMenuItemPreviewRTF.isSelected()) hm.put( ic.OUTPUT_FORMAT, "rtf");
6084            else
6085                hm.put( ic.OUTPUT_FORMAT, "pdf");
6086
6087            ic.setProperties(hm);
6088            ic.setJrf(jrf);
6089            ic.setMainFrame(this);
6090
6091            ic.start();
6092            return ic;
6093        }
6094        return null;
6095    }
6096
6097    private void jMenuItemPrevWinActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemPrevWinActionPerformed
6098
// Remove all menus...
6099
java.awt.Component JavaDoc[] menus = this.jMenuWindow.getMenuComponents();
6100        int firstFrame = -1;
6101        for (int k = 0; k<menus.length ; ++k) {
6102            if (menus[k] instanceof JRadioButtonMenuItemMDIFrame) {
6103                if (firstFrame == -1) firstFrame = k;
6104                if ( ((JRadioButtonMenuItemMDIFrame)menus[k]).getFrame() == jMDIDesktopPane.getSelectedFrame()) {
6105                    // The next if exists, is the right menu..
6106
k--;
6107                    if (k>=firstFrame && menus[k] instanceof JRadioButtonMenuItemMDIFrame) {
6108                        try {
6109                            ((JRadioButtonMenuItemMDIFrame)menus[k]).getFrame().setSelected(true);
6110                        } catch (Exception JavaDoc ex)
6111                        {}
6112                    }
6113                    else if (menus[menus.length-1] instanceof JRadioButtonMenuItemMDIFrame) {
6114                        try {
6115                            ((JRadioButtonMenuItemMDIFrame)menus[menus.length-1]).getFrame().setSelected(true);
6116                        } catch (Exception JavaDoc ex)
6117                        {}
6118                    }
6119                    return;
6120                }
6121            }
6122        }
6123    }//GEN-LAST:event_jMenuItemPrevWinActionPerformed
6124

6125    private void jMenuItemNextWinActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemNextWinActionPerformed
6126

6127
6128        // Remove all menus...
6129
java.awt.Component JavaDoc[] menus = this.jMenuWindow.getMenuComponents();
6130        int firstFrame = -1;
6131        for (int k = 0; k<menus.length ; ++k) {
6132            if (menus[k] instanceof JRadioButtonMenuItemMDIFrame) {
6133                if (firstFrame == -1) firstFrame = k;
6134                if ( ((JRadioButtonMenuItemMDIFrame)menus[k]).getFrame() == jMDIDesktopPane.getSelectedFrame()) {
6135                    // The next if exists, is the right menu..
6136
k++;
6137                    if (k<menus.length && menus[k] instanceof JRadioButtonMenuItemMDIFrame) {
6138                        try {
6139                            ((JRadioButtonMenuItemMDIFrame)menus[k]).getFrame().setSelected(true);
6140                        } catch (Exception JavaDoc ex)
6141                        {}
6142                    }
6143                    else if (firstFrame != -1) {
6144                        try {
6145                            ((JRadioButtonMenuItemMDIFrame)menus[firstFrame]).getFrame().setSelected(true);
6146                        } catch (Exception JavaDoc ex)
6147                        {}
6148                    }
6149                    return;
6150                }
6151            }
6152        }
6153
6154        /*
6155        JInternalFrame[] frames = jMDIDesktopPane.getAllFrames();
6156        if (frames.length < 2) return;
6157        for (int i=0; i<frames.length; ++i)
6158        {
6159            if (frames[i] == jMDIDesktopPane.getSelectedFrame())
6160            {
6161                i++;
6162                if (i == frames.length) i=0;
6163                try {
6164                frames[i].setSelected(true);
6165                } catch (Exception ex){}
6166                return;
6167            }
6168        }
6169         */

6170
6171    }//GEN-LAST:event_jMenuItemNextWinActionPerformed
6172

6173    private void jMenuItemtileAnodineActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemtileAnodineActionPerformed
6174
jMDIDesktopPane.tileAnodine();
6175    }//GEN-LAST:event_jMenuItemtileAnodineActionPerformed
6176

6177    private void jMenuItemTileVerticalActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemTileVerticalActionPerformed
6178
jMDIDesktopPane.tileVertically();
6179    }//GEN-LAST:event_jMenuItemTileVerticalActionPerformed
6180

6181    private void jMenuItemTileHorizontalActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemTileHorizontalActionPerformed
6182
jMDIDesktopPane.tileHorizontally();
6183    }//GEN-LAST:event_jMenuItemTileHorizontalActionPerformed
6184

6185    private void jMenuItemCascadeActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCascadeActionPerformed
6186
// Dispose all frames in cascade....
6187
// The active frame must be the last....
6188
jMDIDesktopPane.cascade();
6189    }//GEN-LAST:event_jMenuItemCascadeActionPerformed
6190

6191    private void jRadioButtonMenuItemPreviewPDFActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jRadioButtonMenuItemPreviewPDFActionPerformed
6192
this.setReportViewer(IREPORT_PDF_VIEWER);
6193    }//GEN-LAST:event_jRadioButtonMenuItemPreviewPDFActionPerformed
6194

6195    private void jTreeFilesMouseClicked(java.awt.event.MouseEvent JavaDoc evt) {//GEN-FIRST:event_jTreeFilesMouseClicked
6196
if (evt.getClickCount() == 2 && evt.getButton() == java.awt.event.MouseEvent.BUTTON1) {
6197            TreePath path = jTreeFiles.getSelectionPath();
6198            if (path == null) return;
6199            javax.swing.tree.TreeNode JavaDoc node = (javax.swing.tree.TreeNode JavaDoc)path.getLastPathComponent();
6200            if (node instanceof DefaultMutableTreeNode) {
6201                DefaultMutableTreeNode nodem = (DefaultMutableTreeNode)node;
6202                Object JavaDoc obj = nodem.getUserObject();
6203                if (obj != null && obj instanceof DocumentTreeEntry) {
6204                    DocumentTreeEntry dtn = (DocumentTreeEntry)obj;
6205                    if (dtn.getJrf() != null) {
6206                        //
6207
try {
6208                            dtn.getJrf().setSelected(true);
6209                        } catch (Exception JavaDoc ex)
6210                        {};
6211                        //dtn.getJrf().updateUI();
6212
//jMDIDesktopPane.internalFrameActivated(dtn.getJrf());
6213
//this.logOnConsole("Activated :"+dtn.getJrf().getReport().getFilename()+"\n");
6214
}
6215                }
6216            }
6217        }
6218        //else System.out.println("Mouse clicked...");
6219

6220
6221    }//GEN-LAST:event_jTreeFilesMouseClicked
6222

6223    private void jMenuItemFontsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemFontsActionPerformed
6224

6225        JOptionPane.showMessageDialog(this,it.businesslogic.ireport.util.I18n.getString("reportFontsDeprecated", "Report fonts are deprecated.\nWe strongly suggest to use styles instead."),"Report fonts",JOptionPane.WARNING_MESSAGE);
6226
6227        this.fontsDialog.setVisible(true);
6228    }//GEN-LAST:event_jMenuItemFontsActionPerformed
6229

6230    private void jMenuItemActiveConnectionActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemActiveConnectionActionPerformed
6231
ActiveConnectionDialog acd = new ActiveConnectionDialog(this, true);
6232        acd.setVisible(true);
6233        if (acd.getDialogResult() == JOptionPane.OK_OPTION) {
6234            this.getProperties().put( "DefaultConnection",acd.getIReportConnection());
6235
6236            this.saveiReportConfiguration();
6237            jToolbarConnectionPanel.updateConnections();
6238
6239        }
6240    }//GEN-LAST:event_jMenuItemActiveConnectionActionPerformed
6241

6242    public void setActiveConnection(IReportConnection conn )
6243    {
6244        if (conn != null)
6245        {
6246            this.getProperties().put( "DefaultConnection",conn);
6247            this.saveiReportConfiguration();
6248            jToolbarConnectionPanel.updateConnections();
6249        }
6250    }
6251
6252    private void jToggleButtonChartToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonChartToolItemStateChanged
6253
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
6254            if (jMDIDesktopPane.getSelectedFrame() != null &&
6255            jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
6256                JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
6257                jrf.setNewObjectType( ReportElementType.CHART_ELEMENT);
6258                jrf.setLensMode(false);
6259            }
6260            setActiveTool(jToggleButtonChartTool);
6261        }
6262    }//GEN-LAST:event_jToggleButtonChartToolItemStateChanged
6263

6264    private void jMenuItemConnectionsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemConnectionsActionPerformed
6265

6266        try{
6267        ConnectionsDialog cd = new ConnectionsDialog(this,true);
6268        cd.setVisible(true);
6269        jToolbarConnectionPanel.updateConnections();
6270        } catch (Exception JavaDoc ex)
6271        {
6272            ex.printStackTrace();
6273        }
6274
6275    }//GEN-LAST:event_jMenuItemConnectionsActionPerformed
6276

6277    private void jMenuItemReportQuery2ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemReportQuery2ActionPerformed
6278
this.jButtonDatabaseActionPerformed(evt);
6279    }//GEN-LAST:event_jMenuItemReportQuery2ActionPerformed
6280

6281    private void jMenuItemCompatibilityActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemCompatibilityActionPerformed
6282
CompatibilityDialog cd = new CompatibilityDialog(this,true);
6283        cd.setVisible(true);
6284    }//GEN-LAST:event_jMenuItemCompatibilityActionPerformed
6285

6286    private void jMenuItemOptionsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemOptionsActionPerformed
6287
OptionsDialog od = new OptionsDialog(this,true);
6288        od.loadConfiguration();
6289        od.setVisible(true);
6290    }//GEN-LAST:event_jMenuItemOptionsActionPerformed
6291

6292    private void jCheckBoxMenuItemOutputActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemOutputActionPerformed
6293

6294
6295
6296        if (jCheckBoxMenuItemOutput.isSelected()) {
6297            Misc.dockAt(logPaneView, DockingConstants.SOUTH_REGION, 0);
6298        }
6299        else {
6300            DockingManager.close(logPaneView );
6301        }
6302
6303
6304    }//GEN-LAST:event_jCheckBoxMenuItemOutputActionPerformed
6305

6306    private void jCheckBoxMenuItemExplorerActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemExplorerActionPerformed
6307

6308         if (jCheckBoxMenuItemExplorer.isSelected())
6309        {
6310             Misc.dockAt(viewFiles, DockingConstants.WEST_REGION, 0);
6311        }
6312        else
6313        {
6314           DockingManager.close(viewFiles);
6315        }
6316        getProperties().put("panelFiles", ""+jCheckBoxMenuItemExplorer.isSelected());
6317        this.saveiReportConfiguration();
6318
6319    }//GEN-LAST:event_jCheckBoxMenuItemExplorerActionPerformed
6320

6321    public void jMenuItemHSDecreaseActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemHSDecreaseActionPerformed
6322
FormatCommand.getCommand( OperationType.DECREASE_SPACE_H).execute();
6323    }//GEN-LAST:event_jMenuItemHSDecreaseActionPerformed
6324

6325    public void jMenuItemVSIncreaseActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemVSIncreaseActionPerformed
6326
FormatCommand.getCommand( OperationType.INCREASE_SPACE_V).execute();
6327    }//GEN-LAST:event_jMenuItemVSIncreaseActionPerformed
6328

6329    private void jButtonDatabaseActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonDatabaseActionPerformed
6330
this.getReportQueryDialog().setSubDataset( this.getActiveReportFrame().getReport() );
6331        this.getReportQueryDialog().setVisible(true);
6332    }//GEN-LAST:event_jButtonDatabaseActionPerformed
6333

6334    private void jMenuItemSaveAllActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSaveAllActionPerformed
6335
saveAll();
6336    }
6337
6338    /**
6339     * save all open reports
6340     */

6341    public void saveAll() {
6342      saveAll(jMDIDesktopPane.getAllFrames());
6343    }
6344
6345    /**
6346     * save all reportframes
6347     *
6348     * @param frames JInternalFrame[]
6349     */

6350    public void saveAll(javax.swing.JInternalFrame JavaDoc[] frames) {
6351        for (int i=0; i< frames.length; ++i) {
6352            if (frames[i] instanceof JReportFrame) {
6353                JReportFrame jrf = (JReportFrame)frames[i];
6354                if (jrf.getReport().getFilename() == null ||
6355                jrf.getReport().getFilename().trim().equals("")) {
6356                    // Choose a file name....
6357
javax.swing.JFileChooser JavaDoc jfc = new javax.swing.JFileChooser JavaDoc(getCurrentDirectory());
6358
6359                    jfc.setDialogTitle("Save report as XML jasperreports file....");
6360                    jfc.setFileFilter( new javax.swing.filechooser.FileFilter JavaDoc() {
6361                        public boolean accept(java.io.File JavaDoc file) {
6362                            String JavaDoc filename = file.getName();
6363                            return (filename.toLowerCase().endsWith(".xml") || file.isDirectory() || filename.toLowerCase().endsWith(".jrxml")) ;
6364                        }
6365                        public String JavaDoc getDescription() {
6366                            return "JasperReports XML *.xml, *.jrxml";
6367                        }
6368                    });
6369
6370
6371                    jfc.setMultiSelectionEnabled(false);
6372
6373                    jfc.setDialogType( javax.swing.JFileChooser.SAVE_DIALOG);
6374                    if (jfc.showSaveDialog(this) != javax.swing.JOptionPane.OK_OPTION) {
6375                        //if we saved or didn't save the current file
6376
javax.swing.JInternalFrame JavaDoc current = jMDIDesktopPane.getSelectedFrame();
6377                        if( current instanceof JReportFrame ) {
6378                            JReportFrame crf = (JReportFrame)current;
6379                            if( crf.getReport().isModified() ) {
6380                                this.enableSaveSpecific();
6381                            }
6382                            else {
6383                                this.disableSaveSpecific();
6384                            }
6385                        }
6386                        return;
6387                    }
6388                    setCurrentDirectory( jfc.getSelectedFile(), true);
6389                    jrf.getReport().setFilename( jfc.getSelectedFile().getPath());
6390                }
6391
6392                //saveBackup( jrf.getReport().getFilename());
6393
jrf.getReport().saveXMLFile();
6394                //jrf.getReport().in(false);
6395
//this.addToRecentFileList(rp.filename);
6396
//saveProperties();
6397
//this.updateRecentFileList();
6398
}//end if instance of
6399
}//end for loop frames
6400
this.disableSaveAllSpecific();
6401        this.disableSaveSpecific();
6402    }//GEN-LAST:event_jMenuItemSaveAllActionPerformed
6403

6404    private void jMenuItemSaveAsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSaveAsActionPerformed
6405
if (jMDIDesktopPane.getSelectedFrame() != null &&
6406        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
6407            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
6408
6409            saveAs(jrf);
6410        }
6411    }//GEN-LAST:event_jMenuItemSaveAsActionPerformed
6412

6413
6414    public void saveAs(JReportFrame jrf)
6415    {
6416            String JavaDoc reportName = jrf.getReport().getName();
6417
6418            // Choose a new file name....
6419
// -----------------------------------------------------------------
6420

6421            javax.swing.JFileChooser JavaDoc jfc = new javax.swing.JFileChooser JavaDoc(getCurrentDirectory());
6422            jfc.setDialogTitle("Save report as XML jasperreports file as....");
6423
6424            // Handling the new File, that gets saved for the first time
6425
// Propose a new file name based on the report name
6426

6427            jfc.setSelectedFile( new java.io.File JavaDoc(jrf.getReport().getFilename())) ;
6428
6429            if (jrf.getReport().getFilename() == null ||
6430                    jrf.getReport().getFilename().trim().equals(""))
6431            {
6432                if ( !( (reportName == null) || (reportName.trim().equals(""))) )
6433                {
6434                    File file = new java.io.File JavaDoc( reportName + ".jrxml");
6435                    jfc.setSelectedFile( file );
6436                }
6437            }
6438
6439            jfc.setFileFilter( new javax.swing.filechooser.FileFilter JavaDoc()
6440            {
6441                public boolean accept(java.io.File JavaDoc file)
6442                {
6443                    String JavaDoc filename = file.getName();
6444                    return (filename.toLowerCase().endsWith(".xml") || file.isDirectory() || filename.toLowerCase().endsWith(".jrxml")) ;
6445                }
6446                public String JavaDoc getDescription()
6447                {
6448                    return "JasperReports XML *.xml, *.jrxml";
6449                }
6450            });
6451            jfc.setMultiSelectionEnabled(false);
6452            jfc.setDialogType( javax.swing.JFileChooser.SAVE_DIALOG);
6453
6454            // Show the dialog:
6455
if (jfc.showSaveDialog(this) != javax.swing.JOptionPane.OK_OPTION)
6456            {
6457                return;
6458            }
6459
6460            setCurrentDirectory( jfc.getSelectedFile(), true);
6461
6462            //file exists?
6463
if(jfc.getSelectedFile().exists())
6464            {
6465                //is the same file to save?
6466
if( new File(jrf.getReport().getFilename()).equals(jfc.getSelectedFile()))
6467                {
6468                    // Synchronize Report Name ?
6469
boolean sync = false;
6470                    String JavaDoc filename = jfc.getSelectedFile().getName();
6471                    if (filename.lastIndexOf(".") > 0)
6472                    {
6473                        filename = filename.substring(0, filename.lastIndexOf(".") );
6474                    }
6475
6476                    if (! reportName.toLowerCase().equals (filename.toLowerCase() ) )
6477                    {
6478                        if ( isSynchronizeReportName() )
6479                        {
6480                            sync = true;
6481                        }
6482                        else
6483                        {
6484                            if ( isShowOptionDialogSynchronize( jrf.getReport().getName(), filename ) )
6485                            {
6486                                sync = true;
6487                            }
6488                        }
6489                    }
6490                    if (sync)
6491                    {
6492                        jrf.getReport().setName( filename );
6493                    }
6494                    //save only
6495
jrf.getReport().saveXMLFile();
6496                    //jrf.getReport().setModified(false);
6497
return;
6498                }
6499                else
6500                {
6501                    //is different file to save?
6502
//confirm overwrite
6503
int ret = I18nOptionPane.showOptionDialog(this,
6504                            "overwriteFile",
6505                            "saveAs",
6506                            JOptionPane.YES_NO_OPTION,
6507                            JOptionPane.WARNING_MESSAGE,
6508                            null, new String JavaDoc[]{"yes", "no"},
6509                            "no"
6510                                    );
6511
6512                            //if yes
6513
if(ret == 0)
6514                            {
6515                                //is that file opened?
6516
JReportFrame reportFrame = findReportFrameByFile(jfc.getSelectedFile());
6517                                if(reportFrame != null)
6518                                {
6519                                    //close file
6520
reportFrame.setDefaultCloseOperation( jrf.DISPOSE_ON_CLOSE );
6521                                    reportFrame.doDefaultCloseAction();
6522                                }
6523                            }
6524                            else
6525                            {
6526                                //canceled
6527
return;
6528                            }
6529
6530                }
6531            }
6532            else
6533            {
6534                // File does not exist yet.
6535

6536            }
6537
6538            String JavaDoc f = jfc.getSelectedFile().getPath();
6539            if (!f.toLowerCase().endsWith(".jrxml" ) &&
6540                    !f.toLowerCase().endsWith(".xml" ))
6541            {
6542                f += ".jrxml";
6543            }
6544
6545            //saveBackup( jrf.getReport().getFilename());
6546
jrf.getReport().checkReadOnlyFlag(f);
6547            if(jrf.getReport().isReadOnly())
6548            {
6549                javax.swing.JOptionPane.showMessageDialog(this,
6550                        it.businesslogic.ireport.util.I18n.getString("selectedFileReadOnly", "Selected File is read only and cannot be used."),
6551                        it.businesslogic.ireport.util.I18n.getString("save","Save"),javax.swing.JOptionPane.INFORMATION_MESSAGE);
6552                return;
6553            }
6554
6555            // Begin Modification, Robert Lamping, May 3, 2005
6556

6557            String JavaDoc filename = jfc.getSelectedFile().getName();
6558            if (filename.lastIndexOf(".") > 0)
6559                {
6560                    filename = filename.substring(0, filename.lastIndexOf(".") );
6561                }
6562
6563            if (reportName.trim().equals("") )
6564            {
6565                // if report name is empty, then use the filename without the last extension as
6566
// the new report name.
6567
jrf.getReport().setName(filename);
6568            }
6569            else
6570            {
6571                // If different file name was entered than the report name
6572
// and the report name is not null or empty. then:
6573
// Ask whether it should be brought in sync.
6574

6575                // filename always includes a "."
6576
// so take everything until the last occurance of "."
6577
// and compare this to the reportname
6578
// if not equal, than ask to synchronize.
6579

6580
6581                if (! reportName.toLowerCase().equals(filename.toLowerCase() ) )
6582                {
6583                    // Ask to synchronize
6584
// TODO: I18N hardcoded text
6585
if ( isSynchronizeReportName() )
6586                    {
6587                        jrf.getReport().setName(filename);
6588                        this.logOnConsole(I18n.getString("messages.nameSync", "Report name synchronized with file name\n"),false);
6589                    }
6590                    else
6591                    {
6592                        if ( isShowOptionDialogSynchronize( reportName, filename ) )
6593                        {
6594                            jrf.getReport().setName(filename);
6595                        }
6596                    }
6597                }
6598
6599            }
6600            // End Modification, Robert Lamping, May 3, 2005
6601

6602            jrf.getReport().setFilename(f);
6603            jrf.getReport().saveXMLFile();
6604
6605            //jrf.getReport().setModified(false);
6606
jrf.updateTitle();
6607            updateMenuWindowList();
6608
6609            javax.swing.tree.DefaultTreeModel JavaDoc dtm = (javax.swing.tree.DefaultTreeModel JavaDoc) jTreeFiles.getModel();
6610            dtm.reload();
6611
6612            setActiveReportForm(jrf);
6613            this.disableSaveSpecific();
6614            if(this.isSaveAllRequired())
6615            {
6616                this.enableSaveAllSpecific();
6617            }
6618            else
6619            {
6620                this.disableSaveAllSpecific();
6621            }
6622            recentFilesList.insertElementAt(jrf.getReport().getFilename(),0);
6623            this.updateRecentFileMenu(jMenuRecentFiles, recentFilesList );
6624            //saveFileList(recentFilesList, "recentFiles.xml");
6625
saveFileList(recentFilesList, IREPORT_RECENT_FILES_FILE);
6626            // this.addToRecentFileList(rp.filename);
6627
//saveProperties();
6628
//this.updateRecentFileList();
6629

6630    }
6631
6632
6633    private void jButtonOpenActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonOpenActionPerformed
6634
this.jMenuItemOpenActionPerformed(evt);
6635    }//GEN-LAST:event_jButtonOpenActionPerformed
6636

6637    private void jButtonCompilerActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonCompilerActionPerformed
6638
compile();
6639    }
6640
6641    public IReportCompiler compile() {
6642        return compile(jListThreads);
6643    }
6644
6645    public IReportCompiler compile(javax.swing.JList JavaDoc jListThreads) {
6646      // 1. Get active report...
6647
if (jMDIDesktopPane.getSelectedFrame() != null &&
6648        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
6649            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
6650            if (Misc.nvl(this.getProperties().getProperty("SaveBeforeCompiling"), "true").equals("true") && jrf.getReport().isModified())
6651                jMenuItemSaveActionPerformed(new java.awt.event.ActionEvent JavaDoc(jMenuItemSave,0,"Save"));
6652            //1. Save the report if needed....
6653
if (jrf.getReport().getReportChanges() > 0 ||
6654            jrf.getReport().getFilename() == null ||
6655            jrf.getReport().getFilename().trim().equals("")) {
6656                this.logOnConsole(I18n.getString("messages.actionAbortedByUser", "Action aborted by user.\n"),false);
6657                return null;
6658            }
6659
6660            //clearConsole();
6661
//1. Compile....
6662
IReportCompiler ic = new IReportCompiler();
6663            ic.setThreadList( jListThreads );
6664
6665            HashMap hm = new HashMap();
6666            hm.put( ic.OUTPUT_DIRECTORY, getTranslatedCompileDirectory());
6667
6668            if (jrf.getReport().getLanguage().equals("groovy"))
6669            {
6670                hm.put( ic.COMPILER, "net.sf.jasperreports.compilers.JRGroovyCompiler");
6671            }
6672
6673            ic.setProperties(hm);
6674            ic.setCommand( IReportCompiler.CMD_COMPILE);
6675
6676            if (jrf.getReport().getScriptletHandling() == jrf.getReport().SCRIPTLET_IREPORT_INTERNAL_HANDLING) {
6677                ic.setCommand( ic.getCommand() | IReportCompiler.CMD_COMPILE_SCRIPTLET);
6678            }
6679            ic.setJrf(jrf);
6680            ic.setMainFrame(this);
6681            ic.start();
6682            return ic;
6683        }
6684        return null;
6685
6686
6687    }//GEN-LAST:event_jButtonCompilerActionPerformed
6688

6689    private void jButtonSaveActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonSaveActionPerformed
6690
jMenuItemSaveActionPerformed(evt);
6691    }//GEN-LAST:event_jButtonSaveActionPerformed
6692

6693    public void jMenuItemSaveActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSaveActionPerformed
6694
if (jMDIDesktopPane.getSelectedFrame() != null &&
6695        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
6696            JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
6697
6698            save( jrf );
6699        }
6700    }//GEN-LAST:event_jMenuItemSaveActionPerformed
6701

6702    public void save(JReportFrame jrf)
6703    {
6704            String JavaDoc reportName = jrf.getReport().getName();
6705
6706            if (jrf.getReport().getFilename() == null ||
6707            jrf.getReport().getFilename().trim().equals("")) {
6708                // Choose a file name....
6709
javax.swing.JFileChooser JavaDoc jfc = new javax.swing.JFileChooser JavaDoc(getCurrentDirectory());
6710                jfc.setDialogTitle("Save report as XML jasperreports file....");
6711
6712                // Begin Modification, Robert Lamping, May 3, 2005
6713
// filename is empty, so default it to the report name
6714
// whether or not the (future) option to keep report name and file name equal
6715

6716                File file = new java.io.File JavaDoc( reportName + ".jrxml");
6717                jfc.setSelectedFile( file );
6718                // End Modification, Robert Lamping, May 3, 2005
6719

6720                jfc.setFileFilter( new javax.swing.filechooser.FileFilter JavaDoc() {
6721                    public boolean accept(java.io.File JavaDoc file) {
6722                        String JavaDoc filename = file.getName();
6723                        return (filename.toLowerCase().endsWith(".xml") || file.isDirectory() || filename.toLowerCase().endsWith(".jrxml")) ;
6724                    }
6725                    public String JavaDoc getDescription() {
6726                        return "JasperReports XML *.xml, *.jrxml";
6727                    }
6728                });
6729
6730                jfc.setMultiSelectionEnabled(false);
6731
6732                jfc.setDialogType( javax.swing.JFileChooser.SAVE_DIALOG);
6733                if (jfc.showSaveDialog( this) != javax.swing.JOptionPane.OK_OPTION) return;
6734                setCurrentDirectory( jfc.getSelectedFile(), true);
6735                String JavaDoc f = jfc.getSelectedFile().getPath();
6736                if (!f.toLowerCase().endsWith(".jrxml" ) &&
6737                !f.toLowerCase().endsWith(".xml" )) {
6738                    f += ".jrxml";
6739                }
6740                jrf.getReport().checkReadOnlyFlag(f);
6741                if(jrf.getReport().isReadOnly()){
6742                    javax.swing.JOptionPane.showMessageDialog(this,
6743                    it.businesslogic.ireport.util.I18n.getString("selectedFileReadOnly", "Selected File is read only and cannot be used."),
6744                    it.businesslogic.ireport.util.I18n.getString("save","Save"),javax.swing.JOptionPane.INFORMATION_MESSAGE);
6745                    return;
6746                }
6747
6748
6749                // Begin Modification, Robert Lamping, May 3, 2005
6750
// If a file with the same name exists as f
6751
// then the ask whether the file must be overwritten.
6752

6753                //file exists?
6754
if(jfc.getSelectedFile().exists()) {
6755
6756                    //confirm overwrite
6757
// TODO: Show Filename in OptionDialog
6758
int ret = I18nOptionPane.showOptionDialog(this,
6759                            "overwriteFile",
6760                            "save",
6761                            JOptionPane.YES_NO_OPTION,
6762                            JOptionPane.WARNING_MESSAGE,
6763                            null, new String JavaDoc[]{"yes", "no"},
6764                            "no",
6765                            jfc.getSelectedFile().getPath() );
6766
6767                            //if yes
6768
if(ret == 0){
6769
6770                                //is that file opened?
6771
JReportFrame reportFrame = findReportFrameByFile(jfc.getSelectedFile());
6772                                if(reportFrame != null){
6773                                    //close file
6774
reportFrame.setDefaultCloseOperation( jrf.DISPOSE_ON_CLOSE );
6775                                    reportFrame.doDefaultCloseAction();
6776                                }
6777                            } else {
6778
6779                                //canceled
6780
return;
6781                            }
6782                }
6783
6784
6785                String JavaDoc filename = jfc.getSelectedFile().getName();
6786                if (filename.lastIndexOf(".") > 0)
6787                {
6788                    filename = filename.substring(0, filename.lastIndexOf(".") );
6789                }
6790
6791                if (reportName.trim().equals ("") )
6792                {
6793                    // if report name is empty, then use the filename without the last extension as
6794
// the new report name.
6795
jrf.getReport ().setName (filename);
6796                }
6797                else
6798                {
6799                    // If different file name was entered than the report name
6800
// and the report name is not null or empty. then:
6801
// Ask whether it should be brought in sync.
6802

6803                    // filename always includes a "."
6804
// so take everything until the last occurance of "."
6805
// and compare this to the reportname
6806
// if not equal, than ask to synchronize.
6807

6808
6809                    if (! reportName.toLowerCase().equals (filename.toLowerCase() ) )
6810                    {
6811                        // Ask to synchronize
6812
// TODO: I18N hardcoded text
6813
if ( isSynchronizeReportName() )
6814                        {
6815                            jrf.getReport().setName(filename);
6816                            this.logOnConsole(I18n.getString("messages.nameSync", "Report name synchronized with file name\n"),false);
6817                        }
6818                        else
6819                        {
6820                            // ask user whether to synchronize or not
6821
if ( isShowOptionDialogSynchronize( reportName, filename ) )
6822                            {
6823                                jrf.getReport().setName(filename);
6824                            }
6825                        }
6826                    }
6827
6828                }
6829                // End Modification, Robert Lamping, May 3, 2005
6830

6831                jrf.getReport().setFilename( f );
6832                recentFilesList.insertElementAt(jrf.getReport().getFilename(),0);
6833                this.updateRecentFileMenu(jMenuRecentFiles, recentFilesList );
6834                //saveFileList(recentFilesList, "recentFiles.xml");
6835
saveFileList(recentFilesList, IREPORT_RECENT_FILES_FILE);
6836            }
6837            else
6838            {
6839
6840                // Begin Modification, Robert Lamping, May 3, 2005
6841
File file = new java.io.File JavaDoc( jrf.getReport().getFilename() );
6842                // strip the path:
6843
String JavaDoc filename = file.getName();
6844                if (filename.lastIndexOf(".") > 0)
6845                {
6846                    filename = filename.substring(0, filename.lastIndexOf(".") );
6847                }
6848
6849                if (reportName.trim().equals("") )
6850                {
6851                    // if report name is empty, then use the filename without the last extension as
6852
// the new report name.
6853
jrf.getReport().setName(filename);
6854                }
6855                else
6856                {
6857                    // If different file name was entered than the report name
6858
// and the report name is not null or empty. then:
6859
// Ask whether it should be brought in sync.
6860

6861                    // filename always includes a "."
6862
// so take everything until the last occurance of "."
6863
// and compare this to the reportname
6864
// if not equal, than ask to synchronize.
6865
if (! reportName.toLowerCase().equals(filename.toLowerCase()) )
6866                    {
6867                        if ( isSynchronizeReportName() )
6868                        {
6869                            jrf.getReport().setName(filename);
6870                            this.logOnConsole(I18n.getString("messages.nameSync", "Report name synchronized with file name\n"),false);
6871                        }
6872                        else
6873                        {
6874                             // ask user whether to synchronize or not
6875
if ( isShowOptionDialogSynchronize( reportName, filename ) )
6876                            {
6877                                jrf.getReport().setName(filename);
6878                            }
6879                        }
6880                    }
6881
6882                }
6883                // End Modification, Robert Lamping, May 3, 2005
6884

6885            }
6886
6887
6888            if(!jrf.getReport().isReadOnly() && !getProperties().getProperty("BackupPolicy","3").equals("1") )
6889            {
6890                saveBackup( jrf.getReport().getFilename());
6891            }
6892            jrf.getReport().saveXMLFile();
6893            //jrf.getReport().setReportChanges(0);
6894
//jrf.getReport().setModified(false);
6895
this.disableSaveSpecific();
6896            if(this.isSaveAllRequired())
6897            {
6898                this.enableSaveAllSpecific();
6899            }
6900            else
6901            {
6902                this.disableSaveAllSpecific();
6903            }
6904            //this.addToRecentFileList(rp.filename);
6905
//saveProperties();
6906
//this.updateRecentFileList();
6907
this.jTreeFiles.updateUI();
6908
6909    }
6910
6911    /**
6912     * saveToStream
6913     * saves a Report to an OutputStream
6914     *
6915     * Author: Felix Firgau
6916     *
6917     * @param outputStream OutputStream
6918     */

6919    public void saveToStream(java.io.OutputStream JavaDoc outputStream) {
6920        JReportFrame rf = getActiveReportFrame () ;
6921        if ( rf == null )
6922            return ;
6923        Report activeReport = rf.getReport();
6924        ReportWriter rw = new ReportWriter(activeReport);
6925        rw.writeToOutputStream(outputStream);
6926    }
6927
6928    private void jCheckBoxMenuItemSnapToGridActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemSnapToGridActionPerformed
6929
// Set SnapToGrid to all reports form..
6930
javax.swing.JInternalFrame JavaDoc[] frames = jMDIDesktopPane.getAllFrames();
6931        for (int i=0; i< frames.length; ++i) {
6932            if (frames[i] instanceof JReportFrame) {
6933                JReportFrame jrf = (JReportFrame)frames[i];
6934                jrf.setSnapToGrid(jCheckBoxMenuItemSnapToGrid.isSelected() );
6935                this.getProperties().setProperty( "snapToGrid", jCheckBoxMenuItemSnapToGrid.isSelected() + "" );
6936                this.saveiReportConfiguration();
6937            }
6938        }
6939    }//GEN-LAST:event_jCheckBoxMenuItemSnapToGridActionPerformed
6940

6941    private void jCheckBoxMenuItemGridActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jCheckBoxMenuItemGridActionPerformed
6942

6943        javax.swing.JInternalFrame JavaDoc[] frames = jMDIDesktopPane.getAllFrames();
6944        for (int i=0; i< frames.length; ++i) {
6945            if (frames[i] instanceof JReportFrame) {
6946                JReportFrame jrf = (JReportFrame)frames[i];
6947                jrf.setShowGrid(jCheckBoxMenuItemGrid.isSelected() );
6948                this.getProperties().setProperty( "showGrid", jCheckBoxMenuItemGrid.isSelected() + "" );
6949                this.saveiReportConfiguration();
6950            }
6951        }
6952    }//GEN-LAST:event_jCheckBoxMenuItemGridActionPerformed
6953

6954    private void jButtonBandsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonBandsActionPerformed
6955
getBandsDialog().setVisible(true);
6956    }//GEN-LAST:event_jButtonBandsActionPerformed
6957

6958    private void jButtonGroupsActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonGroupsActionPerformed
6959
getGroupsDialog().setVisible(true);
6960    }//GEN-LAST:event_jButtonGroupsActionPerformed
6961

6962    private void jButtonParametersActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonParametersActionPerformed
6963
// Show values frame...
6964
getValuesDialog().setVisible(true);
6965
6966    }//GEN-LAST:event_jButtonParametersActionPerformed
6967

6968    private void jMenuItemOpenActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemOpenActionPerformed
6969
open();
6970    }
6971
6972    /**
6973     * opens one or more existing report. Shows file chooser dialog.
6974     * returns the newly opened ReportFrames (maybe more than one) or null if file chooser is canceled.
6975     *
6976     * @return JReportFrame[]
6977     */

6978    public JReportFrame[] open()
6979    {
6980        // Select an XMl file...
6981
javax.swing.JFileChooser JavaDoc jfc = new javax.swing.JFileChooser JavaDoc(getCurrentDirectory());
6982
6983        jfc.setDialogTitle("Load XML jasperreports file....");
6984
6985        jfc.addChoosableFileFilter( new javax.swing.filechooser.FileFilter JavaDoc() {
6986            public boolean accept(java.io.File JavaDoc file) {
6987                String JavaDoc filename = file.getName();
6988                return (filename.toLowerCase().endsWith(".jasper") || file.isDirectory()) ;
6989            }
6990            public String JavaDoc getDescription() {
6991                return "JasperReports compiled *.jasper";
6992            }
6993        });
6994
6995        jfc.setFileFilter( new javax.swing.filechooser.FileFilter JavaDoc() {
6996            public boolean accept(java.io.File JavaDoc file) {
6997                String JavaDoc filename = file.getName();
6998                return (filename.toLowerCase().endsWith(".xml") || file.isDirectory() || filename.toLowerCase().endsWith(".jrxml")) ;
6999            }
7000            public String JavaDoc getDescription() {
7001                return "JasperReports XML *.xml, *.jrxml";
7002            }
7003        });
7004
7005
7006
7007        jfc.setMultiSelectionEnabled(true);
7008        jfc.setDialogType( javax.swing.JFileChooser.OPEN_DIALOG);
7009        if (jfc.showOpenDialog( this) == javax.swing.JOptionPane.OK_OPTION) {
7010            java.io.File JavaDoc[] files = jfc.getSelectedFiles();
7011
7012            JReportFrame[] result = new JReportFrame[files.length];
7013
7014            for (int i=0; i<files.length; ++i) {
7015                result[i] = openFile(files[i]);
7016            }
7017            setCurrentDirectory( jfc.getSelectedFile(), true);
7018            return result;
7019        }
7020        return null;
7021
7022    }//GEN-LAST:event_jMenuItemOpenActionPerformed
7023

7024    private void jToggleButtonSubreportToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonSubreportToolItemStateChanged
7025
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
7026            if (jMDIDesktopPane.getSelectedFrame() != null &&
7027            jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
7028                JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
7029                jrf.setNewObjectType( ReportElementType.SUBREPORT_ELEMENT);
7030                jrf.setLensMode(false);
7031            }
7032            setActiveTool(jToggleButtonSubreportTool);
7033        }
7034    }//GEN-LAST:event_jToggleButtonSubreportToolItemStateChanged
7035

7036    private void jToggleButtonSubreportToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonSubreportToolActionPerformed
7037
jToggleButtonSubreportTool.setSelected(true);
7038    }//GEN-LAST:event_jToggleButtonSubreportToolActionPerformed
7039

7040    private void jToggleButtonTextFieldToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonTextFieldToolItemStateChanged
7041
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
7042            if (jMDIDesktopPane.getSelectedFrame() != null &&
7043            jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
7044                JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
7045                jrf.setNewObjectType( ReportElementType.TEXTFIELD_ELEMENT);
7046                jrf.setLensMode(false);
7047            }
7048            setActiveTool(jToggleButtonTextFieldTool);
7049        }
7050    }//GEN-LAST:event_jToggleButtonTextFieldToolItemStateChanged
7051

7052    private void jToggleButtonTextFieldToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonTextFieldToolActionPerformed
7053
jToggleButtonTextFieldTool.setSelected(true);
7054    }//GEN-LAST:event_jToggleButtonTextFieldToolActionPerformed
7055

7056    private void jToggleButtonStaticTextToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonStaticTextToolItemStateChanged
7057
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
7058            if (jMDIDesktopPane.getSelectedFrame() != null &&
7059            jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
7060                JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
7061                jrf.setNewObjectType( ReportElementType.STATICTEXT_ELEMENT);
7062                jrf.setLensMode(false);
7063            }
7064            setActiveTool(jToggleButtonStaticTextTool);
7065        }
7066    }//GEN-LAST:event_jToggleButtonStaticTextToolItemStateChanged
7067

7068    private void jToggleButtonStaticTextToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonStaticTextToolActionPerformed
7069
jToggleButtonStaticTextTool.setSelected(true);
7070    }//GEN-LAST:event_jToggleButtonStaticTextToolActionPerformed
7071

7072    private void jToggleButtonImageToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonImageToolItemStateChanged
7073
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
7074            if (jMDIDesktopPane.getSelectedFrame() != null &&
7075            jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
7076                JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
7077                jrf.setNewObjectType( ReportElementType.IMAGE_ELEMENT);
7078                jrf.setLensMode(false);
7079            }
7080            setActiveTool(jToggleButtonImageTool);
7081        }
7082    }//GEN-LAST:event_jToggleButtonImageToolItemStateChanged
7083

7084    private void jToggleButtonImageToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonImageToolActionPerformed
7085
jToggleButtonImageTool.setSelected(true);
7086    }//GEN-LAST:event_jToggleButtonImageToolActionPerformed
7087

7088    private void jToggleButtonEllipseToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonEllipseToolItemStateChanged
7089
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
7090            if (jMDIDesktopPane.getSelectedFrame() != null &&
7091            jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
7092                JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
7093                jrf.setNewObjectType( ReportElementType.ELLIPSE_ELEMENT);
7094                jrf.setLensMode(false);
7095            }
7096            setActiveTool(jToggleButtonEllipseTool);
7097        }
7098    }//GEN-LAST:event_jToggleButtonEllipseToolItemStateChanged
7099

7100    private void jToggleButtonEllipseToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonEllipseToolActionPerformed
7101
jToggleButtonEllipseTool.setSelected(true);
7102    }//GEN-LAST:event_jToggleButtonEllipseToolActionPerformed
7103

7104    private void jToggleButtonRectToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonRectToolItemStateChanged
7105
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
7106            if (jMDIDesktopPane.getSelectedFrame() != null &&
7107            jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
7108                JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
7109                jrf.setNewObjectType( ReportElementType.RECTANGLE_ELEMENT);
7110                jrf.setLensMode(false);
7111            }
7112            setActiveTool(jToggleButtonRectTool);
7113        }
7114    }//GEN-LAST:event_jToggleButtonRectToolItemStateChanged
7115

7116    private void jToggleButtonRectToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonRectToolActionPerformed
7117
jToggleButtonRectTool.setSelected(true);
7118    }//GEN-LAST:event_jToggleButtonRectToolActionPerformed
7119

7120    private void jToggleButtonLineToolActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonLineToolActionPerformed
7121
jToggleButtonLineTool.setSelected(true);
7122    }//GEN-LAST:event_jToggleButtonLineToolActionPerformed
7123

7124    private void jToggleButtonLineToolItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonLineToolItemStateChanged
7125
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
7126            if (jMDIDesktopPane.getSelectedFrame() != null &&
7127            jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
7128                JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
7129                jrf.setNewObjectType( ReportElementType.LINE_ELEMENT);
7130                jrf.setLensMode(false);
7131            }
7132            setActiveTool(jToggleButtonLineTool);
7133        }
7134    }//GEN-LAST:event_jToggleButtonLineToolItemStateChanged
7135

7136    private void jToggleButtonPointerActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonPointerActionPerformed
7137
jToggleButtonPointer.setSelected(true);
7138    }//GEN-LAST:event_jToggleButtonPointerActionPerformed
7139

7140    private void jToggleButtonPointerItemStateChanged(java.awt.event.ItemEvent JavaDoc evt) {//GEN-FIRST:event_jToggleButtonPointerItemStateChanged
7141
if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
7142
7143            if (jMDIDesktopPane.getSelectedFrame() != null &&
7144            jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
7145                JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
7146                jrf.setNewObjectType( ReportElementType.NONE);
7147                jrf.setLensMode(false);
7148            }
7149            if (jToggleButtonPointer.isEnabled()) {
7150                setActiveTool( jToggleButtonPointer );
7151            }
7152        }
7153    }//GEN-LAST:event_jToggleButtonPointerItemStateChanged
7154

7155    private void jButtonNewActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButtonNewActionPerformed
7156
evt.setSource(jButtonNew);
7157        this.jMenuItemNewDocumentActionPerformed(evt);
7158    }//GEN-LAST:event_jButtonNewActionPerformed
7159

7160    public void setCutCopyEnabled(boolean enabled) {
7161        this.jButtonCut.setEnabled(enabled);
7162        this.jMenuItemCut.setEnabled(enabled);
7163
7164        this.jButtonCopy.setEnabled(enabled);
7165        this.jMenuItemCopy.setEnabled(enabled);
7166
7167        this.jMenuItemDelete.setEnabled(enabled);
7168
7169        getDocumentStructurePanel().setCutCopyEnabled(enabled);
7170    }
7171
7172    public void setPasteEnebled(boolean enabled) {
7173        this.jButtonPaste.setEnabled(enabled);
7174        this.jMenuItemPaste.setEnabled(enabled);
7175
7176        getDocumentStructurePanel().setPasteEnebled(enabled);
7177    }
7178
7179    public void setUndoEnebled(boolean enabled) {
7180        this.jMenuItemUndo.setEnabled(enabled);
7181    }
7182
7183    public void setRedoEnebled(boolean enabled) {
7184        this.jMenuItemRedo.setEnabled(enabled);
7185    }
7186
7187    public void setSaveEnebled(boolean enabled) {
7188        this.jButtonSave.setEnabled( enabled);
7189        this.jMenuItemSave.setEnabled( enabled);
7190    }
7191
7192    private void jMenuItemSubreportActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemSubreportActionPerformed
7193
jToggleButtonSubreportToolItemStateChanged(new java.awt.event.ItemEvent JavaDoc(jToggleButtonSubreportTool,0,jToggleButtonSubreportTool, java.awt.event.ItemEvent.SELECTED));
7194    }//GEN-LAST:event_jMenuItemSubreportActionPerformed
7195

7196    private void jMenuItemTextFieldActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemTextFieldActionPerformed
7197
jToggleButtonTextFieldToolItemStateChanged(new java.awt.event.ItemEvent JavaDoc(jToggleButtonTextFieldTool,0,jToggleButtonTextFieldTool, java.awt.event.ItemEvent.SELECTED));
7198    }//GEN-LAST:event_jMenuItemTextFieldActionPerformed
7199

7200    private void jMenuItemStaticTextActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemStaticTextActionPerformed
7201
jToggleButtonStaticTextToolItemStateChanged(new java.awt.event.ItemEvent JavaDoc(jToggleButtonStaticTextTool,0,jToggleButtonStaticTextTool, java.awt.event.ItemEvent.SELECTED));
7202    }//GEN-LAST:event_jMenuItemStaticTextActionPerformed
7203

7204    private void jMenuItemEllipseActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemEllipseActionPerformed
7205
jToggleButtonEllipseToolItemStateChanged(new java.awt.event.ItemEvent JavaDoc(jToggleButtonEllipseTool,0,jToggleButtonEllipseTool, java.awt.event.ItemEvent.SELECTED));
7206    }//GEN-LAST:event_jMenuItemEllipseActionPerformed
7207

7208    private void jMenuItemRoundRectangleActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemRoundRectangleActionPerformed
7209
//jToggleButtonRectRoundToolItemStateChanged(new java.awt.event.ItemEvent(jToggleButtonRectRoundTool,0,jToggleButtonRectRoundTool, java.awt.event.ItemEvent.SELECTED));
7210
}//GEN-LAST:event_jMenuItemRoundRectangleActionPerformed
7211

7212    private void jMenuItemRectangleActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemRectangleActionPerformed
7213
jToggleButtonRectToolItemStateChanged(new java.awt.event.ItemEvent JavaDoc(jToggleButtonRectTool,0,jToggleButtonRectTool, java.awt.event.ItemEvent.SELECTED));
7214    }//GEN-LAST:event_jMenuItemRectangleActionPerformed
7215

7216    private void jMenuItemLineActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemLineActionPerformed
7217
jToggleButtonLineToolItemStateChanged(new java.awt.event.ItemEvent JavaDoc(jToggleButtonLineTool,0,jToggleButtonLineTool, java.awt.event.ItemEvent.SELECTED));
7218    }//GEN-LAST:event_jMenuItemLineActionPerformed
7219

7220    private void jMenuEditActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuEditActionPerformed
7221
// Add your handling code here:
7222
}//GEN-LAST:event_jMenuEditActionPerformed
7223

7224    private void jNumberComboBoxZoomValueChanged(ValueChangedEvent evt) {
7225        applyComboBoxZoomFactor();
7226    }
7227
7228    private void applyComboBoxZoomFactor(){
7229
7230        JInternalFrame jif = jMDIDesktopPane.getSelectedFrame();
7231        if (jif instanceof JReportFrame) {
7232            double new_factor = 0;
7233            String JavaDoc s = this.jNumberComboBoxZoom.getSelectedItem()+"";
7234
7235            /* Code Begin Robert Lamping, 17 july 2004
7236             * Add + modification
7237             * Fit to Page renamed to Width
7238             * Added: Whole Page, Height
7239             */

7240            if (s.equalsIgnoreCase("Width")) {
7241                new_factor = (double)(((JReportFrame)jif).getJPanelReport().getWidth()-20) / (double)(((JReportFrame)jif).getReport().getWidth());
7242                ((JReportFrame)jif).setZoomFactor(new_factor);
7243                new_factor = (int)(100.0*new_factor);
7244                jNumberComboBoxZoom.setValue( new_factor );
7245                ((JReportFrame)jif).centerSelectedElements();
7246
7247            } else if (s.equalsIgnoreCase("Whole page")) {
7248                int height = ((JReportFrame) jif).getReport().getDesignHeight();
7249                new_factor = Math.min( (double)(((JReportFrame)jif).getJPanelReport().getWidth()-20) / (double)(((JReportFrame)jif).getReport().getWidth()),
7250                (double)(((JReportFrame)jif).getJPanelReport().getHeight()-20) / (double) height );
7251                ((JReportFrame)jif).setZoomFactor(new_factor);
7252                new_factor = (int)(100.0*new_factor);
7253                jNumberComboBoxZoom.setValue( new_factor );
7254
7255            } else if (s.equalsIgnoreCase("Height")) {
7256                int height = ((JReportFrame) jif).getReport().getDesignHeight();
7257                new_factor = (double)(((JReportFrame)jif).getJPanelReport().getHeight()-20) / (double) height ;
7258                ((JReportFrame)jif).setZoomFactor(new_factor);
7259                new_factor = (int)(100.0*new_factor);
7260                jNumberComboBoxZoom.setValue( new_factor );
7261                ((JReportFrame)jif).centerSelectedElements();
7262
7263            /* Code End Robert Lamping, 17 july 2004 */
7264            } else {
7265
7266                /* Code Begin Robert Lamping, 18 july 2004 */
7267                Point JavaDoc defaultCenter = ((JReportFrame)jif).getCurrentCenter();
7268
7269                ((JReportFrame)jif).setZoomFactor( (double)(this.jNumberComboBoxZoom.getValue()/100.0));
7270
7271                // Move selected items in the middle if possible.
7272
((JReportFrame)jif).centerSelectedElements( defaultCenter ) ;
7273                /* Code End Robert Lamping, 18 july 2004 */
7274
7275            }
7276            this.setCurrentZoomFactor(currentZoomFactor);
7277
7278        }
7279
7280    }
7281
7282    /**
7283     * This method adjust JImageButtons position in according with buttons array.
7284     * A null entry is interpreted as a 8 pixel space.
7285
7286    public boolean addToolbarComponent(javax.swing.JComponent ctl)
7287    {
7288        if (getToolBarControls() == null ) return false;
7289        if (getToolBarControls().contains( ctl)) return false;
7290        getToolBarControls().add(ctl);
7291        updateToolBarUI();
7292        return true;
7293    }
7294
7295    private void updateToolBarUI()
7296    {
7297        // Add your handling code here:
7298        if (getToolBarControls() == null ) return;
7299        int actualWidth=0;
7300        int actualHeight=0;
7301        int availWidth = this.jPanelToolBar.getWidth();
7302
7303        java.util.Enumeration e = getToolBarControls().elements();
7304        while (e.hasMoreElements()) {
7305            Object obj = e.nextElement();
7306            if (obj == null || ! (obj instanceof javax.swing.JComponent)) {
7307                if (actualWidth > 0) {
7308                    actualWidth += 8;
7309                }
7310            }
7311            else {
7312                javax.swing.JComponent ctl = (javax.swing.JComponent)obj;
7313                if ((actualWidth + ctl.getWidth()) > availWidth && (ctl.getWidth()+0 <= availWidth)) {
7314                    // Go to the next row...
7315                    actualHeight += 32;
7316                    actualWidth = 0;
7317                }
7318                ctl.setLocation(actualWidth,actualHeight);
7319                actualWidth += ctl.getWidth();
7320            }
7321        }
7322        jPanelToolBar.setSize( this.jPanelToolBar.getWidth(), (actualHeight+34));
7323        jPanelToolBar.setPreferredSize(new java.awt.Dimension( this.jPanelToolBar.getWidth(), (actualHeight)+34));
7324        jPanelToolBar.updateUI();
7325    }
7326  */

7327    private void jMenuItemNewDocumentActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuItemNewDocumentActionPerformed
7328

7329        if (( evt.getSource() == jButtonNew || getProperties().getProperty("DontUseTemplateFromMenu", "true").equals("false")) &&
7330            getProperties().getProperty( "DefaultTemplate") != null)
7331        {
7332            File f = new File( getProperties().getProperty( "DefaultTemplate"));
7333            if (f.exists())
7334            {
7335                newReport(f);
7336                return;
7337            }
7338
7339        }
7340        newReport();
7341    }//GEN-LAST:event_jMenuItemNewDocumentActionPerformed
7342

7343    /**
7344     * newReport
7345     * generates a new report from a template file
7346     * returns the new report or null if an error occurs
7347     *
7348     * @param template File
7349     * @return Report
7350     */

7351    public Report newReport(File template)
7352    {
7353        try {
7354            Report report = new Report(template.getPath());
7355            report.setFilename( null );
7356            report.setName( getFirstNameFree() );
7357            report.incrementReportChanges();
7358            openNewReportWindow( report );
7359            return report;
7360        } catch (Exception JavaDoc ex) {
7361            ex.printStackTrace();
7362            return null;
7363        }
7364    }
7365
7366    /**
7367     * newReport
7368     * generates a new report and shows property dialog
7369     * returns the new report or null if property dialog is canceled
7370     *
7371     * @return Report
7372     */

7373    public Report newReport()
7374    {
7375        // Get info about the new report....
7376
// 1. Display the ReportProperties frame in dialog mode.
7377
// Will be proposed default values...
7378
ReportPropertiesFrame rpf = new ReportPropertiesFrame(this,true);
7379        rpf.setModal(true);
7380        // find the first name free...
7381
String JavaDoc name = getFirstNameFree();
7382        rpf.setReportName( name);
7383        rpf.setVisible(true);
7384        if (rpf.getDialogResult() == javax.swing.JOptionPane.OK_OPTION) {
7385            // The user has clicked on OK...
7386
// Storing in a new report the report characteristics.
7387
Report newReport = new Report();
7388            newReport.setUsingMultiLineExpressions(false); //this.isUsingMultiLineExpressions());
7389
newReport.setWidth(rpf.getReportWidth());
7390            newReport.setHeight(rpf.getReportHeight());
7391            newReport.setOrientation(rpf.getOrientation());
7392            newReport.setName(rpf.getReportName());
7393            newReport.setTopMargin(rpf.getTopMargin());
7394            newReport.setLeftMargin(rpf.getLeftMargin());
7395            newReport.setRightMargin(rpf.getRightMargin());
7396            newReport.setBottomMargin(rpf.getBottomMargin());
7397            newReport.setColumnCount(rpf.getColumns());
7398            newReport.setColumnWidth(rpf.getColumnsWidth());
7399            newReport.setColumnSpacing(rpf.getColumnsSpacing());
7400            newReport.setIsSummaryNewPage(rpf.isSummaryOnNewPage());
7401            newReport.setIsTitleNewPage(rpf.isTitleOnNewPage());
7402            newReport.setWhenNoDataType(rpf.getWhenNoDataType());
7403            newReport.setScriptletClass(rpf.getScriptletClass());
7404            newReport.setEncoding(rpf.getXmlEncoding());
7405            newReport.setPrintOrder(rpf.getPrintOrder());
7406            newReport.setReportFormat(rpf.getReportFormat());
7407            newReport.setFloatColumnFooter(rpf.isFloatColumnFooter());
7408            newReport.setResourceBundleBaseName( rpf.getResourceBundleBaseName() );
7409            newReport.setWhenResourceMissingType( rpf.getWhenResourceMissingType());
7410            newReport.setIgnorePagination(rpf.isIgnorePagination());
7411            newReport.setFormatFactoryClass(rpf.getFormatFactoryClass());
7412
7413            /* todo newReport.setPageName(rpf.getPageName()); */
7414            newReport.setLanguage( rpf.getLanguage() );
7415
7416            openNewReportWindow( newReport );
7417            return newReport;
7418        }
7419        return null;
7420    }
7421
7422    public JReportFrame openNewReportWindow( Report newReport ) {
7423        // Create a new document frame....
7424
// ...that rappresent the report document created...
7425
JReportFrame jrf = new JReportFrame(newReport);
7426
7427        jrf.addReportListener(this);
7428        //this.addReportListener( this.);
7429
newReport.addSubDatasetObjectChangedListener( this.getLibraryPanel());
7430        newReport.addSubDatasetObjectChangedListener( this.getValuesDialog());
7431        newReport.addReportSubDatasetChangedListener( this.getLibraryPanel());
7432        newReport.addStyleChangedListener( this );
7433
7434        // this is for JMDIFrame design...
7435
// jMDIMenuBar could be retrived from the jrf parent, contained in the JFrame
7436
// that store the JDesktopPane parent...
7437
jrf.setMenu( this.jMDIMenuBar );
7438        // Set default, but we starting the frame maximized by default...
7439
jrf.setBounds(10,10,700,500);
7440        // We must set the frame visible before adding it to the jMDIDesktopPane...
7441

7442        jrf.setShowGrid( this.getProperties().getProperty( "showGrid", "false" ).equals("true"));
7443        jrf.setSnapToGrid( this.getProperties().getProperty( "snapToGrid", "false" ).equals("true"));
7444
7445        jrf.setVisible(true);
7446
7447        if (!isEmptyString(jrf.getReport().getFilename()) ) {
7448            recentFilesList.remove( jrf.getReport().getFilename());
7449            recentFilesList.insertElementAt(jrf.getReport().getFilename(),0);
7450            this.updateRecentFileMenu(jMenuRecentFiles, recentFilesList );
7451            //saveFileList(recentFilesList, "recentFiles.xml");
7452
saveFileList(recentFilesList, IREPORT_RECENT_FILES_FILE);
7453        }
7454
7455        jMDIDesktopPane.add(jrf, javax.swing.JLayeredPane.DEFAULT_LAYER);
7456
7457        jMDIDesktopPane.getDesktopManager().activateFrame(jrf);
7458
7459        // Count all frames...
7460

7461        int f_num = jMDIDesktopPane.getAllFrames().length;
7462        JRadioButtonMenuItemMDIFrame menuItem = new JRadioButtonMenuItemMDIFrame((JMDIFrame)jrf, f_num + ". " + jrf.getTitle() );
7463        menuItem.setSelected(true);
7464        menuItem.setMnemonic((int)((f_num+"").charAt(0)) );
7465        menuItem.setAccelerator( javax.swing.KeyStroke.getKeyStroke((int)((f_num+"").charAt(0)),java.awt.Event.META_MASK));
7466
7467        this.jMenuWindow.insert(menuItem, this.jMenuWindow.getMenuComponentCount());
7468        menuItem.addActionListener(new java.awt.event.ActionListener JavaDoc() {
7469            public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
7470                jMenuWindowListActionPerformed(evt);
7471            }
7472        });
7473        buttonGroupFramesList.add(menuItem);
7474        //updateMenuWindowList();
7475

7476        // After activation, we try to maximize the window....
7477
try {
7478            jrf.setSelected(true);
7479            jrf.setZoomFactor( this.getCurrentZoomFactor() );
7480            //if (jMDIMenuBar.getMaximizedFrame() != null)
7481
jrf.setMaximum(true);
7482            String JavaDoc report_name = jrf.getReport().getName();
7483            DocumentTreeEntry dte = new DocumentTreeEntry(jrf,jrf.getReport().getName());
7484            javax.swing.tree.DefaultTreeModel JavaDoc dtm = (javax.swing.tree.DefaultTreeModel JavaDoc) jTreeFiles.getModel();
7485            ((javax.swing.tree.DefaultMutableTreeNode JavaDoc)dtm.getRoot()).add(
7486            new javax.swing.tree.DefaultMutableTreeNode JavaDoc(dte));
7487            setFileListActivatedFrame(jrf);
7488            this.jTreeFiles.updateUI();
7489
7490        } catch (java.beans.PropertyVetoException JavaDoc ex) {
7491            /* Nothing to do */
7492        } catch (Exception JavaDoc ex2) {
7493            /* Do nothing */
7494        }
7495
7496        //set zoomfactor in toolbar
7497
this.jNumberComboBoxZoom.setValue( (int) (this.getCurrentZoomFactor()*100) );
7498
7499        // This call fix a bug in the code to show control box buttons on menu panel...
7500
jMDIMenuBar.restoreButtonsPosition();
7501        if( !isEmptyString(newReport.getFilename())) {
7502            if(newReport.isModified()) {
7503                this.enableSaveSpecific();
7504                this.enableSaveAllSpecific();
7505            }
7506            else {
7507                this.disableSaveSpecific();
7508                if(this.isSaveAllRequired()) {
7509                    this.enableSaveAllSpecific();
7510                }
7511                else {
7512                    this.disableSaveAllSpecific();
7513                }
7514            }
7515        }
7516        else {
7517            this.enableSaveSpecific();
7518            this.enableSaveAllSpecific();
7519        }
7520
7521        return jrf;
7522    }
7523    private void jMenuFileActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jMenuFileActionPerformed
7524
// Add your handling code here:
7525
jMDIMenuBar.restoreButtonsPosition();
7526    }//GEN-LAST:event_jMenuFileActionPerformed
7527

7528    private void formWindowOpened(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_formWindowOpened
7529

7530        // This try is of java <1.4 comatibility
7531

7532        try {
7533        SwingUtilities.invokeLater(new Runnable JavaDoc() {
7534                public void run() {
7535                    try {
7536
7537                        setExtendedState(MAXIMIZED_BOTH);
7538                        
7539                        
7540                    
7541
7542                    } catch (java.lang.NoSuchMethodError JavaDoc ex) {
7543                        java.awt.Dimension JavaDoc dim = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
7544                        java.awt.Point JavaDoc p = new java.awt.Point JavaDoc();
7545                        p.x = Math.max( 0, (dim.width -getWidth())/2 );
7546                        p.y = Math.max( 0, (dim.height -getHeight())/2 );
7547                        setLocation(p);
7548                    }
7549                    
7550                    try {
7551                        
7552                            if (getProperties().getProperty("RestoreLayout","true").equals("true"))
7553                            {
7554                                DockingManager.restoreLayout();
7555                                if (DockingManager.isDocked( (Dockable)crosstabMeasuresPanelView))
7556                                {
7557                                    DockingManager.undock((Dockable)crosstabMeasuresPanelView);
7558                                }
7559                                if (DockingManager.isDocked( (Dockable)crosstabStructureView))
7560                                {
7561                                    DockingManager.undock((Dockable)crosstabStructureView);
7562                                }
7563
7564                                jCheckBoxMenuItemDocumentStructure.setState(viewDocumentStructure.isShowing());
7565                                jCheckBoxMenuItemElementProperties.setState(viewPropertySheet.isShowing());
7566                                jCheckBoxMenuItemExplorer.setState( viewFiles.isShowing());
7567                                
7568                                jCheckBoxMenuItemLibrary.setState( viewLibrary.isShowing());
7569                                jCheckBoxMenuItemStylesLibrary.setState( stylesPanleView.isShowing());
7570                                jCheckBoxMenuItemThreadList.setState( viewThreads.isShowing() );
7571                                jCheckBoxMenuItemOutput.setState( logPaneView.isShowing() );
7572                                
7573                                
7574                               if (!viewLibrary.isShowing())
7575                                {
7576                                    java.awt.Component JavaDoc comp = viewLibrary.getComponent();
7577                                    java.awt.Container JavaDoc parent = comp.getParent();
7578                                     if( parent != null && parent instanceof javax.swing.JTabbedPane JavaDoc )
7579                                     {
7580                                         ((javax.swing.JTabbedPane JavaDoc)parent).setSelectedIndex(0);
7581                                     }
7582                                }
7583                                
7584                            }
7585                    } catch (Exception JavaDoc ex)
7586                    {
7587                        ex.printStackTrace();
7588                    }
7589                }
7590            });
7591        } catch (Exception JavaDoc ex) {}
7592        
7593        //this.setSize(dim);
7594
//this.getContentPane().repaint();
7595
//this.update(this.getGraphics());
7596
//this.setState(java.awt.Frame.MAXIMIZED_HORIZ);
7597
}//GEN-LAST:event_formWindowOpened
7598

7599    /** Exit the Application */
7600    private void exitForm(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_exitForm
7601

7602        if (isNoExit())
7603        {
7604            this.setVisible(false);
7605            return;
7606        }
7607        closeApplication();
7608    }//GEN-LAST:event_exitForm
7609

7610    private void closeApplication() {
7611        try {
7612            this.saveiReportConfiguration();
7613        }
7614        catch(Throwable JavaDoc e) {
7615            e.printStackTrace(System.err);
7616        }
7617        
7618        
7619        //try {
7620
// DockingManager.storeLayoutModel();
7621
//} catch(Exception ex) {
7622
// ex.printStackTrace();
7623
//}
7624

7625        
7626        if( this.isSaveAllRequired() && !getProperties().getProperty("AskToSave","true").equals("false")) {
7627            String JavaDoc message = I18n.getString("messages.unsavedFiles","There are unsaved files. Would you like to save them before exiting?");
7628            String JavaDoc caption = I18n.getString("messages.unsavedFilesCaption","Unsaved files");
7629            int ret = javax.swing.JOptionPane.showConfirmDialog(this, message, caption, javax.swing.JOptionPane.YES_NO_CANCEL_OPTION);
7630            switch(ret) {
7631                case javax.swing.JOptionPane.YES_OPTION:
7632                    java.awt.event.ActionEvent JavaDoc ae = new java.awt.event.ActionEvent JavaDoc(jMenuItemSaveAll,0, this.jMenuItemSaveAll.getActionCommand());
7633                    jMenuItemSaveAllActionPerformed(ae);
7634                    break;
7635                case javax.swing.JOptionPane.NO_OPTION:
7636                    break;
7637                case javax.swing.JOptionPane.CANCEL_OPTION:
7638                    return;
7639            }
7640        }
7641        this.dispose();
7642        if(!isEmbedded()) {
7643            System.exit(0);
7644        }
7645    }
7646    /**
7647     * @param args the command line arguments
7648     */

7649    public static void main(String JavaDoc args[]) {
7650
7651        // command line arguments
7652
//StringParam patternArg =
7653
// new StringParam("config-file", "",
7654
// StringParam.PUBLIC);
7655

7656        
7657        System.setProperty("sun.swing.enableImprovedDragGesture","");
7658
7659        FileParam configFileOpt =
7660        new FileParam("config-file",
7661        I18n.getString("cmdline.configFile", "the configuration file to use"),
7662        FileParam.IS_FILE & FileParam.IS_READABLE & FileParam.IS_WRITEABLE,
7663        FileParam.OPTIONAL);
7664
7665        FileParam ireportHomeDirOpt =
7666        new FileParam("ireport-home",
7667        I18n.getString("cmdline.ireportHome", "iReport home directory"),
7668        FileParam.IS_DIR & FileParam.IS_READABLE & FileParam.IS_WRITEABLE,
7669        FileParam.OPTIONAL);
7670
7671        FileParam userHomeDirOpt =
7672        new FileParam("user-home",
7673        I18n.getString("cmdline.userHome", "User home directory"),
7674        FileParam.IS_DIR & FileParam.IS_READABLE & FileParam.IS_WRITEABLE,
7675        FileParam.OPTIONAL);
7676
7677        FileParam tempDirOpt =
7678        new FileParam("temp-dir",
7679        I18n.getString("cmdline.tmpDir", "Dir where store temporary java sources"),
7680        FileParam.IS_DIR & FileParam.IS_READABLE & FileParam.IS_WRITEABLE,
7681        FileParam.OPTIONAL);
7682
7683        BooleanParam configSplashOpt =
7684        new BooleanParam("no-splash",
7685        I18n.getString("cmdline.noSplash", "not show the spash window"));
7686
7687        BooleanParam configEmbeddedOpt =
7688        new BooleanParam("embedded",
7689        I18n.getString("cmdline.embedded", "avoid exit when the main window is closed"));
7690
7691        BooleanParam configUseWebStartOpt =
7692        new BooleanParam("webstart",
7693        I18n.getString("cmdline.webstart", "enable a special class path management when Java Web Start is used to run iReport"));
7694
7695        StringParam configBeanClassOpt =
7696        new StringParam("beanClass",
7697        I18n.getString("cmdline.beanClass", "show this class when open extended bean data source query editor"));
7698
7699        FileParam filesArg =
7700        new FileParam("files",
7701        I18n.getString("cmdline.files", "xml file(s) to edit, supports use of wildcards "),
7702        FileParam.IS_FILE & FileParam.IS_READABLE,
7703        FileParam.OPTIONAL, FileParam.MULTI_VALUED);
7704
7705
7706
7707        // command line options
7708
//BooleanParam ignorecaseOpt =
7709
// new BooleanParam("ignoreCase", "ignore case while matching");
7710
//BooleanParam listfilesOpt =
7711
// new BooleanParam("listFiles", "list filenames containing pattern");
7712

7713        // a help text because we will use a HelpCmdLineHandler so our
7714
// command will display verbose help with the -help option
7715
String JavaDoc helpText = I18n.getString("cmdline.helpText","iReport line command options");
7716        CmdLineHandler cl =
7717        new VersionCmdLineHandler( MainFrame.constTitle,
7718        new HelpCmdLineHandler(helpText,
7719        "iReport",
7720        "Designer for JasperReports",
7721        new Parameter[] { configFileOpt, ireportHomeDirOpt, userHomeDirOpt, tempDirOpt, configSplashOpt, configEmbeddedOpt, configUseWebStartOpt, configBeanClassOpt},
7722        new Parameter[] { filesArg } ));
7723
7724        cl.setParser(new PosixCmdLineParser());
7725
7726        cl.setDieOnParseError(false);
7727
7728        if (!cl.parse(args)) {
7729            // This prevent a call to exit from the parser.
7730
System.out.println(cl.getUsage(true));
7731            System.out.println(cl.getParseError());
7732            return;
7733        }
7734
7735        Map JavaDoc map = new HashMap();
7736        if (configFileOpt.isSet()) {
7737            map.put("config-file", configFileOpt.getFile().getPath());
7738        }
7739
7740        if (!configSplashOpt.isTrue()) {
7741            SplashDialog sp = new SplashDialog(null, false);
7742            sp.setVisible(true);
7743            map.put("splash", sp);
7744        }
7745
7746        if (ireportHomeDirOpt.isSet()) {
7747            map.put("ireport-home", ireportHomeDirOpt.getFile().getPath());
7748        }
7749
7750        if (userHomeDirOpt.isSet()) {
7751            map.put("user-home", userHomeDirOpt.getFile().getPath());
7752        }
7753
7754        if (tempDirOpt.isSet()) {
7755            map.put("temp-dir", tempDirOpt.getFile().getPath());
7756        }
7757
7758        if (filesArg.isSet()) {
7759            map.put("files", filesArg.getFiles());
7760        }
7761
7762        if (configBeanClassOpt.isSet())
7763        {
7764            map.put("beanClass", configBeanClassOpt.getValue());
7765        }
7766
7767        if (configEmbeddedOpt.isTrue())
7768        {
7769            map.put("embedded", "true");
7770        }
7771
7772        if (configUseWebStartOpt.isTrue())
7773        {
7774            map.put("webstart", "true");
7775        }
7776
7777        // Clear previus loaded boundle
7778
I18n.setCurrentLocale(java.util.Locale.getDefault());
7779        
7780        MainFrame.reportClassLoader.rescanLibDirectory();
7781        Thread.currentThread().setContextClassLoader( MainFrame.reportClassLoader );
7782        final MainFrame _mainFrame = new MainFrame(map);
7783        SwingUtilities.invokeLater( new Runnable JavaDoc()
7784        {
7785            public void run()
7786            {
7787                _mainFrame.setVisible(true);
7788            }
7789        });
7790    }
7791
7792
7793
7794    private static byte[] getBytesFromInputStream(java.io.InputStream JavaDoc in, int length) throws java.io.IOException JavaDoc {
7795        java.io.DataInputStream JavaDoc din = new java.io.DataInputStream JavaDoc(in);
7796        byte[] bytecodes = new byte[length];
7797        try {
7798            din.readFully(bytecodes);
7799        } finally {
7800            if (din != null) din.close();
7801        }
7802        return bytecodes;
7803    }
7804
7805    /** Gets the image to be displayed in the minimized icon
7806     * for this frame.
7807     * @return the icon image for this frame, or <code>null</code>
7808     * if this frame doesn't have an icon image.
7809     * @see #setIconImage(Icon)
7810     *
7811     */

7812    public java.awt.Image JavaDoc getIconImage() {
7813        try {
7814            ClassLoader JavaDoc cl = this.getClass().getClassLoader();
7815            //java.io.InputStream in = new java.io.FileInputStream( cl.getResource("it/businesslogic/ireport/icons/iconsmall.jpg").getPath() );
7816
java.io.InputStream JavaDoc in = cl.getResourceAsStream("it/businesslogic/ireport/icons/ireport_icon.png");
7817            byte[] data = getBytesFromInputStream(in, in.available());
7818            return java.awt.Toolkit.getDefaultToolkit().createImage(data);
7819        } catch (Exception JavaDoc ex)
7820        {ex.getMessage();
7821         ex.printStackTrace();
7822        }
7823        return null;
7824    }
7825
7826    /** Getter for property elementPropertiesFrame.
7827     * @return Value of property elementPropertiesFrame.
7828     *
7829     */

7830    public ElementPropertiesDialog getElementPropertiesDialog() {
7831        return elementPropertiesDialog;
7832    }
7833
7834    /** Setter for property elementPropertiesFrame.
7835     * @param elementPropertiesFrame New value of property elementPropertiesFrame.
7836     *
7837     */

7838    public void setElementPropertiesDialog(ElementPropertiesDialog elementPropertiesDialog) {
7839        this.elementPropertiesDialog = elementPropertiesDialog;
7840    }
7841
7842    /** Getter for property valuesDialog.
7843     * @return Value of property valuesDialog.
7844     *
7845     */

7846    public it.businesslogic.ireport.gui.ValuesDialog getValuesDialog() {
7847        return valuesDialog;
7848    }
7849
7850    /** Setter for property valuesDialog.
7851     * @param valuesDialog New value of property valuesDialog.
7852     *
7853     */

7854    public void setValuesDialog(it.businesslogic.ireport.gui.ValuesDialog valuesDialog) {
7855        this.valuesDialog = valuesDialog;
7856    }
7857
7858    /** Getter for property groupsDialog.
7859     * @return Value of property groupsDialog.
7860     *
7861     */

7862    public it.businesslogic.ireport.gui.GroupsDialog getGroupsDialog() {
7863        return groupsDialog;
7864    }
7865
7866    /** Setter for property groupsDialog.
7867     * @param groupsDialog New value of property groupsDialog.
7868     *
7869     */

7870    public void setGroupsDialog(it.businesslogic.ireport.gui.GroupsDialog groupsDialog) {
7871        this.groupsDialog = groupsDialog;
7872    }
7873
7874    /** Getter for property bandsDialog.
7875     * @return Value of property bandsDialog.
7876     *
7877     */

7878    public BandsDialog getBandsDialog() {
7879        return bandsDialog;
7880    }
7881
7882    /** Setter for property bandsDialog.
7883     * @param bandsDialog New value of property bandsDialog.
7884     *
7885     */

7886    public void setBandsDialog(BandsDialog bandsDialog) {
7887        this.bandsDialog = bandsDialog;
7888    }
7889
7890    /** Getter for property reportQueryDialog.
7891     * @return Value of property reportQueryDialog.
7892     *
7893     */

7894    public it.businesslogic.ireport.gui.ReportQueryDialog getReportQueryDialog() {
7895        return reportQueryDialog;
7896    }
7897
7898    /** Setter for property reportQueryDialog.
7899     * @param reportQueryDialog New value of property reportQueryDialog.
7900     *
7901     */

7902    public void setReportQueryDialog(it.businesslogic.ireport.gui.ReportQueryDialog reportQueryDialog) {
7903        this.reportQueryDialog = reportQueryDialog;
7904    }
7905
7906    // Variables declaration - do not modify//GEN-BEGIN:variables
7907
private javax.swing.JButton JavaDoc Filler;
7908    private javax.swing.JButton JavaDoc Filler1;
7909    private javax.swing.ButtonGroup JavaDoc buttonGroupExportType;
7910    private javax.swing.ButtonGroup JavaDoc buttonGroupFramesList;
7911    private javax.swing.JButton JavaDoc jButtonAlignBottom;
7912    private javax.swing.JButton JavaDoc jButtonAlignCenter;
7913    private javax.swing.JButton JavaDoc jButtonAlignJustify;
7914    private javax.swing.JButton JavaDoc jButtonAlignLeft;
7915    private javax.swing.JButton JavaDoc jButtonAlignMiddle;
7916    private javax.swing.JButton JavaDoc jButtonAlignRight;
7917    private javax.swing.JButton JavaDoc jButtonAlignTop;
7918    private javax.swing.JButton JavaDoc jButtonBands;
7919    private javax.swing.JButton JavaDoc jButtonBold;
7920    private javax.swing.JButton JavaDoc jButtonCompiler;
7921    private javax.swing.JButton JavaDoc jButtonCopy;
7922    private javax.swing.JButton JavaDoc jButtonCut;
7923    private javax.swing.JButton JavaDoc jButtonDatabase;
7924    private javax.swing.JButton JavaDoc jButtonDecreaseSize;
7925    private javax.swing.JButton JavaDoc jButtonGroups;
7926    private javax.swing.JButton JavaDoc jButtonIncreaseSize;
7927    private javax.swing.JButton JavaDoc jButtonItalic;
7928    private javax.swing.JButton JavaDoc jButtonLens1;
7929    private javax.swing.JButton JavaDoc jButtonLens2;
7930    private javax.swing.JButton JavaDoc jButtonNew;
7931    private javax.swing.JButton JavaDoc jButtonOpen;
7932    private javax.swing.JButton JavaDoc jButtonParameters;
7933    private javax.swing.JButton JavaDoc jButtonPaste;
7934    private javax.swing.JButton JavaDoc jButtonRun1;
7935    private javax.swing.JButton JavaDoc jButtonRun2;
7936    private javax.swing.JButton JavaDoc jButtonSave;
7937    private javax.swing.JButton JavaDoc jButtonSaveAll;
7938    private javax.swing.JButton JavaDoc jButtonStrikethrought;
7939    private javax.swing.JButton JavaDoc jButtonUnderline;
7940    private javax.swing.JButton JavaDoc jButtonWizard;
7941    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemDocumentStructure;
7942    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemEMM;
7943    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemElementProperties;
7944    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemElementsFormatting;
7945    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemExplorer;
7946    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemGrid;
7947    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemIgnorePagination;
7948    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemLibrary;
7949    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemOutput;
7950    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemReportVirtualizer;
7951    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemSnapToGrid;
7952    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemStylesLibrary;
7953    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemTextFormatting;
7954    private javax.swing.JCheckBoxMenuItem JavaDoc jCheckBoxMenuItemThreadList;
7955    private javax.swing.JComboBox JavaDoc jComboBoxFont;
7956    private javax.swing.JList JavaDoc jListThreads;
7957    private it.businesslogic.ireport.gui.JMDIDesktopPane jMDIDesktopPane;
7958    private it.businesslogic.ireport.gui.JMDIMenuBar jMDIMenuBar;
7959    private javax.swing.JMenu JavaDoc jMenuAdd;
7960    private javax.swing.JMenu JavaDoc jMenuAlign;
7961    private javax.swing.JMenu JavaDoc jMenuBuild;
7962    private javax.swing.JMenu JavaDoc jMenuDatabase;
7963    private javax.swing.JMenu JavaDoc jMenuEdit;
7964    private javax.swing.JMenu JavaDoc jMenuFile;
7965    private javax.swing.JMenu JavaDoc jMenuFormat;
7966    private javax.swing.JMenu JavaDoc jMenuHSpacing;
7967    private javax.swing.JMenu JavaDoc jMenuHelp;
7968    private javax.swing.JMenu JavaDoc jMenuInternationalization;
7969    private javax.swing.JMenuItem JavaDoc jMenuItemAbout;
7970    private javax.swing.JMenuItem JavaDoc jMenuItemActiveConnection;
7971    private javax.swing.JMenuItem JavaDoc jMenuItemActiveConnection1;
7972    private javax.swing.JMenuItem JavaDoc jMenuItemAddGroup;
7973    private javax.swing.JMenuItem JavaDoc jMenuItemAlignBottom;
7974    private javax.swing.JMenuItem JavaDoc jMenuItemAlignHorizontalAxis;
7975    private javax.swing.JMenuItem JavaDoc jMenuItemAlignLeft;
7976    private javax.swing.JMenuItem JavaDoc jMenuItemAlignRight;
7977    private javax.swing.JMenuItem JavaDoc jMenuItemAlignToBandBottom;
7978    private javax.swing.JMenuItem JavaDoc jMenuItemAlignToBandTop;
7979    private javax.swing.JMenuItem JavaDoc jMenuItemAlignTop;
7980    private javax.swing.JMenuItem JavaDoc jMenuItemAlignVerticalAxis;
7981    private javax.swing.JMenuItem JavaDoc jMenuItemBands;
7982    private javax.swing.JMenuItem JavaDoc jMenuItemBringToFront;
7983    private javax.swing.JMenuItem JavaDoc jMenuItemCascade;
7984    private javax.swing.JMenuItem JavaDoc jMenuItemCenterBackground;
7985    private javax.swing.JMenuItem JavaDoc jMenuItemCenterH;
7986    private javax.swing.JMenuItem JavaDoc jMenuItemCenterInBand;
7987    private javax.swing.JMenuItem JavaDoc jMenuItemCenterV;
7988    private javax.swing.JMenuItem JavaDoc jMenuItemChart;
7989    private javax.swing.JMenuItem JavaDoc jMenuItemClasspath;
7990    private javax.swing.JMenuItem JavaDoc jMenuItemClose;
7991    private javax.swing.JMenuItem JavaDoc jMenuItemCloseAll;
7992    private javax.swing.JMenuItem JavaDoc jMenuItemCloseAllExceptThis;
7993    private javax.swing.JMenuItem JavaDoc jMenuItemCloseAllExceptThisFromList;
7994    private javax.swing.JMenuItem JavaDoc jMenuItemCloseAllFromList;
7995    private javax.swing.JMenuItem JavaDoc jMenuItemCloseFromList;
7996    private javax.swing.JMenuItem JavaDoc jMenuItemCompatibility;
7997    private javax.swing.JMenuItem JavaDoc jMenuItemCompile;
7998    private javax.swing.JMenuItem JavaDoc jMenuItemConnections;
7999    private javax.swing.JMenuItem JavaDoc jMenuItemCopy;
8000    private javax.swing.JMenuItem JavaDoc jMenuItemCreateFromTemplate;
8001    private javax.swing.JMenuItem JavaDoc jMenuItemCut;
8002    private javax.swing.JMenuItem JavaDoc jMenuItemDelete;
8003    private javax.swing.JMenuItem JavaDoc jMenuItemElementProperties;
8004    private javax.swing.JMenuItem JavaDoc jMenuItemEllipse;
8005    private javax.swing.JMenuItem JavaDoc jMenuItemExecute;
8006    private javax.swing.JMenuItem JavaDoc jMenuItemExecuteDB;
8007    private javax.swing.JMenuItem JavaDoc jMenuItemExportOptions;
8008    private javax.swing.JMenuItem JavaDoc jMenuItemExpressions;
8009    private javax.swing.JMenuItem JavaDoc jMenuItemFields;
8010    private javax.swing.JMenuItem JavaDoc jMenuItemFonts;
8011    private javax.swing.JMenuItem JavaDoc jMenuItemFontspath;
8012    private javax.swing.JMenuItem JavaDoc jMenuItemForum;
8013    private javax.swing.JMenuItem JavaDoc jMenuItemGroups;
8014    private javax.swing.JMenuItem JavaDoc jMenuItemHSDecrease;
8015    private javax.swing.JMenuItem JavaDoc jMenuItemHSIncrease;
8016    private javax.swing.JMenuItem JavaDoc jMenuItemHSMakeEqual;
8017    private javax.swing.JMenuItem JavaDoc jMenuItemHSRemove;
8018    private javax.swing.JMenuItem JavaDoc jMenuItemHelp;
8019    private javax.swing.JMenuItem JavaDoc jMenuItemHomePage;
8020    private javax.swing.JMenuItem JavaDoc jMenuItemImage;
8021    private javax.swing.JMenuItem JavaDoc jMenuItemInsertPageBreak;
8022    private javax.swing.JMenuItem JavaDoc jMenuItemJoinLeft;
8023    private javax.swing.JMenuItem JavaDoc jMenuItemJoinRight;
8024    private javax.swing.JMenuItem JavaDoc jMenuItemKill;
8025    private javax.swing.JMenuItem JavaDoc jMenuItemLeftMargin;
8026    private javax.swing.JMenuItem JavaDoc jMenuItemLine;
8027    private javax.swing.JMenuItem JavaDoc jMenuItemMaxRecords;
8028    private javax.swing.JMenuItem JavaDoc jMenuItemNewDocument;
8029    private javax.swing.JMenuItem JavaDoc jMenuItemNextWin;
8030    private javax.swing.JMenuItem JavaDoc jMenuItemOpen;
8031    private javax.swing.JMenuItem JavaDoc jMenuItemOptions;
8032    private javax.swing.JMenuItem JavaDoc jMenuItemOrganize;
8033    private javax.swing.JMenuItem JavaDoc jMenuItemParameters;
8034    private javax.swing.JMenuItem JavaDoc jMenuItemPaste;
8035    private javax.swing.JMenuItem JavaDoc jMenuItemPluginConfig;
8036    private javax.swing.JMenuItem JavaDoc jMenuItemPrevWin;
8037    private javax.swing.JMenuItem JavaDoc jMenuItemPrint;
8038    private javax.swing.JMenuItem JavaDoc jMenuItemProperties;
8039    private javax.swing.JMenuItem JavaDoc jMenuItemQueryExecuters;
8040    private javax.swing.JMenuItem JavaDoc jMenuItemQuit;
8041    private javax.swing.JMenuItem JavaDoc jMenuItemRectangle;
8042    private javax.swing.JMenuItem JavaDoc jMenuItemRedo;
8043    private javax.swing.JMenuItem JavaDoc jMenuItemReloadFonts;
8044    private javax.swing.JMenuItem JavaDoc jMenuItemRemoveMargins;
8045    private javax.swing.JMenuItem JavaDoc jMenuItemReportImports;
8046    private javax.swing.JMenuItem JavaDoc jMenuItemReportLocale;
8047    private javax.swing.JMenuItem JavaDoc jMenuItemReportProperties;
8048    private javax.swing.JMenuItem JavaDoc jMenuItemReportQuery;
8049    private javax.swing.JMenuItem JavaDoc jMenuItemReportQuery2;
8050    private javax.swing.JMenuItem JavaDoc jMenuItemReportTimeZone;
8051    private javax.swing.JMenuItem JavaDoc jMenuItemRevertToSaved;
8052    private javax.swing.JMenuItem JavaDoc jMenuItemRevertToSavedFromList;
8053    private javax.swing.JMenuItem JavaDoc jMenuItemRightMargin;
8054    private javax.swing.JMenuItem JavaDoc jMenuItemRightSide;
8055    private javax.swing.JMenuItem JavaDoc jMenuItemRoundRectangle;
8056    private javax.swing.JMenuItem JavaDoc jMenuItemSameHeight;
8057    private javax.swing.JMenuItem JavaDoc jMenuItemSameHeightMax;
8058    private javax.swing.JMenuItem JavaDoc jMenuItemSameHeightMin;
8059    private javax.swing.JMenuItem JavaDoc jMenuItemSameSize;
8060    private javax.swing.JMenuItem JavaDoc jMenuItemSameWidth;
8061    private javax.swing.JMenuItem JavaDoc jMenuItemSameWidthMax;
8062    private javax.swing.JMenuItem JavaDoc jMenuItemSameWidthMin;
8063    private javax.swing.JMenuItem JavaDoc jMenuItemSave;
8064    private javax.swing.JMenuItem JavaDoc jMenuItemSaveAll;
8065    private javax.swing.JMenuItem JavaDoc jMenuItemSaveAllFromList;
8066    private javax.swing.JMenuItem JavaDoc jMenuItemSaveAs;
8067    private javax.swing.JMenuItem JavaDoc jMenuItemSaveAsFromList;
8068    private javax.swing.JMenuItem JavaDoc jMenuItemSaveFromList;
8069    private javax.swing.JMenuItem JavaDoc jMenuItemScriptletEditor;
8070    private javax.swing.JMenuItem JavaDoc jMenuItemSendToBack;
8071    private javax.swing.JMenuItem JavaDoc jMenuItemStaticText;
8072    private javax.swing.JMenuItem JavaDoc jMenuItemStyles;
8073    private javax.swing.JMenuItem JavaDoc jMenuItemSubDataset;
8074    private javax.swing.JMenuItem JavaDoc jMenuItemSubDataset1;
8075    private javax.swing.JMenuItem JavaDoc jMenuItemSubreport;
8076    private javax.swing.JMenuItem JavaDoc jMenuItemTextField;
8077    private javax.swing.JMenuItem JavaDoc jMenuItemTileHorizontal;
8078    private javax.swing.JMenuItem JavaDoc jMenuItemTileVertical;
8079    private javax.swing.JMenuItem JavaDoc jMenuItemUndo;
8080    private javax.swing.JMenuItem JavaDoc jMenuItemVSDecrease;
8081    private javax.swing.JMenuItem JavaDoc jMenuItemVSIncrease;
8082    private javax.swing.JMenuItem JavaDoc jMenuItemVSMakeEqual;
8083    private javax.swing.JMenuItem JavaDoc jMenuItemVSRemove;
8084    private javax.swing.JMenuItem JavaDoc jMenuItemVariables;
8085    private javax.swing.JMenuItem JavaDoc jMenuItemWizard;
8086    private javax.swing.JMenuItem JavaDoc jMenuItemXMLSource;
8087    private javax.swing.JMenuItem JavaDoc jMenuItemtileAnodine;
8088    private javax.swing.JMenuItem JavaDoc jMenuLocaleFiles;
8089    private javax.swing.JMenu JavaDoc jMenuPanels;
8090    private javax.swing.JMenu JavaDoc jMenuPlugins;
8091    private javax.swing.JMenu JavaDoc jMenuPosition;
8092    private javax.swing.JMenu JavaDoc jMenuRecentFiles;
8093    private javax.swing.JMenu JavaDoc jMenuSize;
8094    private javax.swing.JMenu JavaDoc jMenuToolBars;
8095    private javax.swing.JMenu JavaDoc jMenuTools;
8096    private javax.swing.JMenu JavaDoc jMenuVSpacing;
8097    private javax.swing.JMenu JavaDoc jMenuView;
8098    private javax.swing.JMenu JavaDoc jMenuWindow;
8099    private it.businesslogic.ireport.gui.JNumberComboBox jNumberComboBoxSize;
8100    private it.businesslogic.ireport.gui.JNumberComboBox jNumberComboBoxZoom;
8101    private javax.swing.JPanel JavaDoc jPanel1;
8102    private javax.swing.JPanel JavaDoc jPanel2;
8103    private javax.swing.JPanel JavaDoc jPanelFiles;
8104    private javax.swing.JPanel JavaDoc jPanelMaster;
8105    private javax.swing.JPanel JavaDoc jPanelZoom;
8106    private javax.swing.JPopupMenu JavaDoc jPopupMenuFiles;
8107    private javax.swing.JPopupMenu JavaDoc jPopupMenuThreads;
8108    private javax.swing.JRadioButtonMenuItem JavaDoc jRadioButtonMenuItemPreviewCSV;
8109    private javax.swing.JRadioButtonMenuItem JavaDoc jRadioButtonMenuItemPreviewHTML;
8110    private javax.swing.JRadioButtonMenuItem JavaDoc jRadioButtonMenuItemPreviewInternalViewer;
8111    private javax.swing.JRadioButtonMenuItem JavaDoc jRadioButtonMenuItemPreviewJAVA;
8112    private javax.swing.JRadioButtonMenuItem JavaDoc jRadioButtonMenuItemPreviewPDF;
8113    private javax.swing.JRadioButtonMenuItem JavaDoc jRadioButtonMenuItemPreviewRTF;
8114    private javax.swing.JRadioButtonMenuItem JavaDoc jRadioButtonMenuItemPreviewTXT;
8115    private javax.swing.JRadioButtonMenuItem JavaDoc jRadioButtonMenuItemPreviewTXTJR;
8116    private javax.swing.JRadioButtonMenuItem JavaDoc jRadioButtonMenuItemPreviewXLS;
8117    private javax.swing.JRadioButtonMenuItem JavaDoc jRadioButtonMenuItemPreviewXLS2;
8118    private javax.swing.JScrollPane JavaDoc jScrollPaneFiles;
8119    private javax.swing.JScrollPane JavaDoc jScrollProcesses;
8120    private javax.swing.JSeparator JavaDoc jSeparator1;
8121    private javax.swing.JSeparator JavaDoc jSeparator10;
8122    private javax.swing.JSeparator JavaDoc jSeparator11;
8123    private javax.swing.JSeparator JavaDoc jSeparator12;
8124    private javax.swing.JSeparator JavaDoc jSeparator13;
8125    private javax.swing.JSeparator JavaDoc jSeparator14;
8126    private javax.swing.JSeparator JavaDoc jSeparator15;
8127    private javax.swing.JSeparator JavaDoc jSeparator16;
8128    private javax.swing.JSeparator JavaDoc jSeparator17;
8129    private javax.swing.JSeparator JavaDoc jSeparator18;
8130    private javax.swing.JSeparator JavaDoc jSeparator19;
8131    private javax.swing.JSeparator JavaDoc jSeparator2;
8132    private javax.swing.JSeparator JavaDoc jSeparator20;
8133    private javax.swing.JSeparator JavaDoc jSeparator21;
8134    private javax.swing.JSeparator JavaDoc jSeparator22;
8135    private javax.swing.JSeparator JavaDoc jSeparator23;
8136    private javax.swing.JSeparator JavaDoc jSeparator24;
8137    private javax.swing.JSeparator JavaDoc jSeparator25;
8138    private javax.swing.JSeparator JavaDoc jSeparator26;
8139    private javax.swing.JSeparator JavaDoc jSeparator27;
8140    private javax.swing.JSeparator JavaDoc jSeparator28;
8141    private javax.swing.JSeparator JavaDoc jSeparator29;
8142    private javax.swing.JSeparator JavaDoc jSeparator3;
8143    private javax.swing.JSeparator JavaDoc jSeparator30;
8144    private javax.swing.JSeparator JavaDoc jSeparator31;
8145    private javax.swing.JSeparator JavaDoc jSeparator32;
8146    private javax.swing.JSeparator JavaDoc jSeparator33;
8147    private javax.swing.JSeparator JavaDoc jSeparator4;
8148    private javax.swing.JSeparator JavaDoc jSeparator5;
8149    private javax.swing.JSeparator JavaDoc jSeparator6;
8150    private javax.swing.JSeparator JavaDoc jSeparator7;
8151    private javax.swing.JSeparator JavaDoc jSeparator8;
8152    private javax.swing.JSeparator JavaDoc jSeparator9;
8153    private javax.swing.JToggleButton JavaDoc jToggleButtonBarcodeTool;
8154    private javax.swing.JToggleButton JavaDoc jToggleButtonChartTool;
8155    private javax.swing.JToggleButton JavaDoc jToggleButtonCrosstabTool;
8156    private javax.swing.JToggleButton JavaDoc jToggleButtonEllipseTool;
8157    private javax.swing.JToggleButton JavaDoc jToggleButtonFrameTool;
8158    private javax.swing.JToggleButton JavaDoc jToggleButtonImageTool;
8159    private javax.swing.JToggleButton JavaDoc jToggleButtonLineTool;
8160    private javax.swing.JToggleButton JavaDoc jToggleButtonPointer;
8161    private javax.swing.JToggleButton JavaDoc jToggleButtonRectTool;
8162    private javax.swing.JToggleButton JavaDoc jToggleButtonStaticTextTool;
8163    private javax.swing.JToggleButton JavaDoc jToggleButtonSubreportTool;
8164    private javax.swing.JToggleButton JavaDoc jToggleButtonTextFieldTool;
8165    private javax.swing.JToolBar JavaDoc jToolBar1;
8166    private javax.swing.JToolBar JavaDoc jToolBarConnections;
8167    private javax.swing.JToolBar JavaDoc jToolBarFormat;
8168    private javax.swing.JToolBar JavaDoc jToolBarText;
8169    private javax.swing.JTree JavaDoc jTreeFiles;
8170    // End of variables declaration//GEN-END:variables
8171

8172
8173    /**
8174     * Load expressions from IREPORT_EXPRESSIONS_FILE and set the static vector in
8175     * the ExpressionEditor.
8176     */

8177    public void loadExpressionsList() {
8178
8179        Vector v = Misc.loadExpressionsList(IREPORT_EXPRESSIONS_FILE);
8180        ExpressionEditor.defaultExpressions = v;
8181    }
8182
8183    /**
8184     * Load expressions from IREPORT_EXPRESSIONS_FILE and set the static vector in
8185     * the ExpressionEditor.
8186     */

8187    public void saveExpressionsList(Vector v) {
8188
8189        Misc.saveExpressionsList(v, IREPORT_EXPRESSIONS_FILE);
8190        ExpressionEditor.defaultExpressions = v;
8191    }
8192
8193
8194
8195
8196    /* This method load:
8197     * recent file list
8198     * recent project list
8199     * favorites files list
8200     */

8201    public void loadFileLists() {
8202
8203        loadFileList(this.getRecentFilesList(), IREPORT_RECENT_FILES_FILE);
8204        //loadFileList(this.getRecentProjectsList(), IREPORT_RECENT_PROJECTS_FILE);
8205
// First we must implement it....
8206
//loadFileList(this.getFavoriteFilesList() , IREPORT_FAVORITE_FILES_FILE);
8207
}
8208
8209
8210
8211    private void loadFileList(Vector v, String JavaDoc xmlFile) {
8212        File file = null;
8213        try {
8214            file = new File(xmlFile);
8215        } catch (Exception JavaDoc ex)
8216        {}
8217        if (file == null || !file.exists() || file.isDirectory()) {
8218            try {
8219                outputBuffer.setLength(0);
8220                this.logOnConsole(I18n.getFormattedString("messages.errorLoadingConfig", "Error loading Configuration file: {0}\n", new Object JavaDoc[]{xmlFile} ),false);
8221            } catch (Exception JavaDoc exsx)
8222            {}
8223            return;
8224        }
8225        // Create a Xerces DOM Parser
8226
DOMParser parser = new DOMParser();
8227        // Parse the Document
8228
// and traverse the DOM
8229
try {
8230
8231            parser.setEntityResolver( new org.xml.sax.EntityResolver JavaDoc() {
8232                /* Code by Teodor Danciu */
8233                public org.xml.sax.InputSource JavaDoc resolveEntity(
8234                String JavaDoc publicId,
8235                String JavaDoc systemId
8236                ) throws SAXException JavaDoc//, java.io.IOException
8237
{
8238                    org.xml.sax.InputSource JavaDoc inputSource = null;
8239
8240                    if (systemId != null) {
8241                        String JavaDoc dtd = null;
8242
8243                        if (
8244                        systemId.equals("http://ireport.sourceforge.net/dtds/iReportFilesList.dtd")
8245                        ) {
8246                            dtd = "it/businesslogic/ireport/dtds/iReportFilesList.dtd";
8247                        }
8248                        else {
8249                            return new org.xml.sax.InputSource JavaDoc(systemId);
8250                        }
8251
8252                        ClassLoader JavaDoc classLoader = this.getClass().getClassLoader();
8253
8254                        java.net.URL JavaDoc url = null;
8255
8256
8257                        if (classLoader != null) {
8258                            url = classLoader.getResource(dtd);
8259                        }
8260                        if (url == null) {
8261                            classLoader = this.getClass().getClassLoader();
8262                        }
8263
8264                        java.io.InputStream JavaDoc is = classLoader.getResourceAsStream(dtd);
8265                        if (is != null) {
8266                            java.io.InputStreamReader JavaDoc isr = new java.io.InputStreamReader JavaDoc(is);
8267                            inputSource = new org.xml.sax.InputSource JavaDoc(isr);
8268                        }
8269
8270                    }
8271
8272                    return inputSource;
8273                }
8274            });
8275            /* End Code by Teodor Danciu */
8276            parser.parse( new java.io.File JavaDoc(xmlFile).toURI().toString() );
8277            Document JavaDoc document = parser.getDocument();
8278
8279            // Traverse the tree until we don't find a iReportFilesList element...
8280
Node JavaDoc fileList = goToNodeElement("iReportFilesList",document.getDocumentElement());
8281            if (fileList == null) return;
8282            NodeList JavaDoc list = fileList.getChildNodes();
8283            for (int i=0; i < list.getLength(); ++i) {
8284                Node JavaDoc child = list.item(i);
8285                if (child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equals("iReportFile")) {
8286                    String JavaDoc fileName = Report.readPCDATA(child);
8287                    if (fileName != null && fileName.trim().length()>0) {
8288                        v.addElement( fileName );
8289                    }
8290                }
8291
8292            }
8293
8294        } catch (Exception JavaDoc ex) {
8295        }
8296    }
8297
8298    static public Node JavaDoc goToNodeElement(String JavaDoc name, Node JavaDoc node ) {
8299        if (node.getNodeType() == Node.ELEMENT_NODE && node.getNodeName().equals("iReportFilesList")) {
8300            return node;
8301        }
8302
8303        NodeList JavaDoc list = node.getChildNodes();
8304        for (int i=0; i < list.getLength(); ++i) {
8305            Node JavaDoc child = goToNodeElement(name, list.item(i) );
8306            if (child != null) return child;
8307        }
8308
8309        return null;
8310    }
8311
8312    /* iReport configuration loader...
8313     */

8314    public void loadiReportConfiguration() {
8315        loadiReportConfiguration( IREPORT_CONFIG_FILE );
8316    }
8317
8318
8319
8320     /* iReport configuration loader...
8321      */

8322    public void loadiReportConfiguration(String JavaDoc xmlFile) {
8323        // Adding default properties...
8324
properties.put("RecentFilesLength","10");
8325        properties.put("ViewRules","true");
8326        properties.put("GridSize","10");
8327        properties.put("ViewBorderForTextElements","true");
8328        properties.put("DefaultTemplate","");
8329        properties.put("DefaultCompilationDirectory",".");
8330        properties.put("BackupPolicy","2");
8331        properties.put("DefaultBackupDirectory","");
8332        properties.put("ExternalEditor","");
8333        properties.put("ExternalPDFViewer","");
8334        properties.put("ExternalHTMLViewer","");
8335        properties.put("ExternalXLSViewer","");
8336        properties.put("ExternalCSVViewer","");
8337        properties.put("ViewBorderForTextElements","true");
8338        properties.put("ViewBorderColor","1");
8339        properties.put("DefaultUnit","cm");
8340        properties.put("SaveBeforeCompiling","true");
8341        properties.put("ViewBorderColor","-6710887");
8342        properties.put("LookAndFeel", "System");
8343        properties.put("UseAutoRegiesterFields", "true");
8344        properties.put("Language", java.util.Locale.getDefault().getLanguage());
8345        properties.put("Country", "");
8346        properties.put("Compatibility", "" + CompatibilitySupport.LAST_AVAILABLE_VERSION);
8347        properties.put("toolbarFormattingVisible","true");
8348        properties.put("toolbarTextVisible","true");
8349        properties.put("showGrid","false");
8350        properties.put("snapToGrid","false");
8351
8352        File file = null;
8353        try {
8354            file = new File(xmlFile);
8355        } catch (Exception JavaDoc ex)
8356        {}
8357        if (file == null || !file.exists() || file.isDirectory()) {
8358            try {
8359                outputBuffer.setLength(0);
8360                this.logOnConsole(I18n.getFormattedString("messages.errorLoadingConfigDefParams", "Error loading Configuration file: {0}\nUsing default parameters.", new Object JavaDoc[]{xmlFile} ),false);
8361                
8362            } catch (Exception JavaDoc exsx)
8363            {}
8364            return;
8365        }
8366        // Create a Xerces DOM Parser
8367
DOMParser parser = new DOMParser();
8368        // Parse the Document
8369
// and traverse the DOM
8370
try {
8371
8372            parser.setEntityResolver( new org.xml.sax.EntityResolver JavaDoc() {
8373                /* Code by Teodor Danciu */
8374                public org.xml.sax.InputSource JavaDoc resolveEntity(
8375                String JavaDoc publicId,
8376                String JavaDoc systemId
8377                ) throws SAXException JavaDoc//, java.io.IOException
8378
{
8379                    org.xml.sax.InputSource JavaDoc inputSource = null;
8380
8381                    if (systemId != null) {
8382                        String JavaDoc dtd = null;
8383
8384                        if ( systemId.equals("http://ireport.sourceforge.net/dtds/iReportProperties.dtd") ) {
8385                            dtd = "it/businesslogic/ireport/dtds/iReportProperties.dtd";
8386                        } else {
8387                            return new org.xml.sax.InputSource JavaDoc(systemId);
8388                        }
8389
8390
8391                        ClassLoader JavaDoc classLoader = this.getClass().getClassLoader();
8392
8393                        java.net.URL JavaDoc url = null;
8394
8395
8396                        if (classLoader != null) {
8397                            url = classLoader.getResource(dtd);
8398                        }
8399                        if (url == null) {
8400                            classLoader = this.getClass().getClassLoader();
8401                        }
8402
8403                        java.io.InputStream JavaDoc is = classLoader.getResourceAsStream(dtd);
8404                        if (is != null) {
8405                            java.io.InputStreamReader JavaDoc isr = new java.io.InputStreamReader JavaDoc(is);
8406                            inputSource = new org.xml.sax.InputSource JavaDoc(isr);
8407                        }
8408
8409                    }
8410
8411                    return inputSource;
8412                }
8413            });
8414            /* End Code by Teodor Danciu */
8415            parser.parse( new java.io.File JavaDoc(xmlFile).toURI().toString() );
8416            Document JavaDoc document = parser.getDocument();
8417
8418            traverse(document.getDocumentElement());
8419
8420            String JavaDoc defaultConnection = Misc.nvl(properties.get("DefaultConnection"),"");
8421
8422            //properties.put("DefaultConnection", null); // No default connection...
8423
if (!defaultConnection.equals("")) {
8424                // Looking for a connection width this name..,
8425
Enumeration e = getConnections().elements();
8426                while (e.hasMoreElements()) {
8427                    IReportConnection irc = (IReportConnection)e.nextElement();
8428                    if (Misc.nvl(irc.getName(),"").equals( defaultConnection )) {
8429                        properties.put("DefaultConnection", irc);
8430                        break;
8431                    }
8432                }
8433            }
8434            else if (getConnections().size() > 0)
8435            {
8436                IReportConnection irc = (IReportConnection)getConnections().elementAt(0);
8437                properties.put("DefaultConnection", irc);
8438            }
8439
8440
8441            String JavaDoc currentDirectory = Misc.nvl(properties.get("CurrentDirectory"),"");
8442            if (!currentDirectory.equals("")) {
8443                this.setCurrentDirectory(new java.io.File JavaDoc( currentDirectory ), false);
8444            }
8445
8446            //I changed this from the working directory to the ireport IREPORT_DEFAULT_HOME_DIR
8447
// Now is set in setiReportPaths ... setHomeDirectory(Misc.nvl(System.getProperty("ireport.home"), IREPORT_DEFAULT_HOME_DIR));
8448
this.setDefaultCompilationDirectory(properties.getProperty("DefaultCompilationDirectory"));
8449
8450            // We force to use classic expressions
8451
properties.put("usingMultiLineExpressions", "false");
8452
8453            CompatibilitySupport.version = Integer.parseInt( properties.getProperty("Compatibility") );
8454
8455            // Write iReport location...
8456
try {
8457                String JavaDoc locationFileName = IREPORT_USER_HOME_DIR + File.separator + "ireport" + MainFrame.constTitle.substring(8) + ".location";
8458                if (!(new File(locationFileName).exists()))
8459                {
8460                    PrintWriter pw = new PrintWriter( new FileOutputStream( locationFileName ));
8461                    String JavaDoc s = new File(IREPORT_HOME_DIR).getAbsolutePath();
8462                    pw.print(s);
8463                    pw.close();
8464                }
8465            } catch (Exception JavaDoc ex)
8466            {
8467                ex.printStackTrace();
8468            }
8469
8470        } catch (SAXException JavaDoc e) {
8471            System.err.println(e);
8472        } catch (java.io.IOException JavaDoc e) {
8473            System.err.println(e);
8474        }
8475    }
8476
8477    /* iReport configuration loader...
8478     */

8479    public void loadStyleLibrary() {
8480        loadStyleLibrary( IREPORT_STYLE_LIBRARY );
8481    }
8482
8483    /* iReport configuration loader...
8484     */

8485    public void loadStyleLibrary(String JavaDoc fileName) {
8486        setStyleLibrarySet( Misc.loadStyleLibrary(fileName) );
8487    }
8488
8489    /* iReport style library configuration saver...
8490     */

8491    public void saveStyleLibrary() {
8492
8493        saveStyleLibrary(IREPORT_STYLE_LIBRARY);
8494
8495    }
8496
8497    /* iReport style library configuration saver...
8498     */

8499    public void saveStyleLibrary(String JavaDoc fileName) {
8500
8501        Misc.saveStyleLibrary(fileName, getStyleLibrarySet());
8502
8503    }
8504
8505    /**
8506     * Set the current directory.
8507     * If save = true, the config file is updates...
8508     */

8509    public File setCurrentDirectory( File f, boolean save) {
8510        String JavaDoc currentDirectory = "";
8511        if( f == null ) return f;
8512
8513        try {
8514            if( f.isDirectory() ) {
8515                currentDirectory = f.getAbsolutePath();
8516            } else {
8517                currentDirectory = f.getParentFile().getAbsolutePath();
8518            }
8519
8520            if (save) {
8521                getProperties().put("CurrentDirectory", currentDirectory);
8522                this.saveiReportConfiguration();
8523            }
8524        } catch (Exception JavaDoc ex) {
8525
8526        }
8527        return f;
8528    }
8529
8530    private void traverse(Node JavaDoc node) {
8531        //System.out.println("traverse");
8532
if (node.getNodeType() == Node.ELEMENT_NODE && node.getNodeName().equals("iReportProperties")) {
8533            //System.out.println("iReportProperties");
8534
// Get childs....
8535
NodeList JavaDoc children = node.getChildNodes();
8536            if (children != null) {
8537                for (int k=0; k< children.getLength(); k++) {
8538                    Node JavaDoc nodeChild = (Node JavaDoc)children.item(k);
8539                    if (nodeChild.getNodeType() == Node.ELEMENT_NODE && nodeChild.getNodeName().equals("iReportProperty")) {
8540
8541                        // Take the CDATA...
8542
String JavaDoc paramName = "";
8543                        NamedNodeMap JavaDoc nnm = nodeChild.getAttributes();
8544                        if ( nnm.getNamedItem("name") != null) paramName = nnm.getNamedItem("name").getNodeValue();
8545                        //System.out.println(" iReportProperty "+nnm.getNamedItem("name").getNodeValue());
8546
properties.put(paramName, readPCDATA(nodeChild) );
8547
8548                    }
8549                    else if (nodeChild.getNodeType() == Node.ELEMENT_NODE && nodeChild.getNodeName().equals("iReportConnection")) {
8550                        // Take the CDATA...
8551
String JavaDoc connectionName = "";
8552                        String JavaDoc connectionClass = "";
8553                        HashMap hm = new HashMap();
8554                        NamedNodeMap JavaDoc nnm = nodeChild.getAttributes();
8555                        if ( nnm.getNamedItem("name") != null) connectionName = nnm.getNamedItem("name").getNodeValue();
8556                        if ( nnm.getNamedItem("connectionClass") != null) connectionClass = nnm.getNamedItem("connectionClass").getNodeValue();
8557
8558                        // Get all connections parameters...
8559
NodeList JavaDoc list_child = nodeChild.getChildNodes();
8560                        for (int ck=0; ck< list_child.getLength(); ck++) {
8561                            String JavaDoc parameterName = "";
8562                            Node JavaDoc child_child = (Node JavaDoc)list_child.item(ck);
8563                            if (child_child.getNodeType() == Node.ELEMENT_NODE && child_child.getNodeName().equals("connectionParameter")) {
8564
8565                                NamedNodeMap JavaDoc nnm2 = child_child.getAttributes();
8566                                if ( nnm2.getNamedItem("name") != null)
8567                                    parameterName = nnm2.getNamedItem("name").getNodeValue();
8568                                hm.put( parameterName,readPCDATA(child_child));
8569                            }
8570                        }
8571                        try {
8572                            IReportConnection con = (IReportConnection) Class.forName(connectionClass).newInstance();
8573                            con.loadProperties(hm);
8574                            con.setName(connectionName);
8575                            connections.addElement( con );
8576                        } catch (Exception JavaDoc ex) {
8577                            try {
8578                                this.logOnConsole(I18n.getFormattedString("messages.errorLoadingConnection", "Error loading: {0}\n{1}\n", new Object JavaDoc[]{connectionName, ex.getMessage()} ),false);
8579
8580                            } catch (Exception JavaDoc exsx)
8581                            {}
8582                        }
8583                    }
8584                    else if (nodeChild.getNodeType() == Node.ELEMENT_NODE && nodeChild.getNodeName().equals("QueryExecuter")) {
8585                        // Take the CDATA...
8586
QueryExecuterDef qe = new QueryExecuterDef();
8587
8588                        HashMap hm = new HashMap();
8589                        NamedNodeMap JavaDoc nnm = nodeChild.getAttributes();
8590                        if ( nnm.getNamedItem("factory") != null) qe.setClassName( nnm.getNamedItem("factory").getNodeValue());
8591                        if ( nnm.getNamedItem("fieldsProvider") != null) qe.setFieldsProvider( nnm.getNamedItem("fieldsProvider").getNodeValue());
8592                        qe.setLanguage( readPCDATA(nodeChild) );
8593
8594                        getQueryExecuters().add(qe);
8595                    }
8596                }
8597            }
8598        }
8599    }
8600    /** Getter for property connections.
8601     * @return Value of property connections.
8602     *
8603     */

8604    public java.util.Vector JavaDoc getConnections() {
8605        return connections;
8606    }
8607
8608    /** Setter for property connections.
8609     * @param connections New value of property connections.
8610     *
8611     */

8612    public void setConnections(java.util.Vector JavaDoc connections) {
8613        this.connections = connections;
8614    }
8615
8616// public String getI18nString(String s) {
8617
// return it.businesslogic.ireport.util.I18n.getString(s, it.businesslogic.ireport.util.I18n.getCurrentLocale());
8618
// }
8619

8620    /** Getter for property properties.
8621     * @return Value of property properties.
8622     *
8623     */

8624    public Properties getProperties() {
8625        return properties;
8626    }
8627
8628    /** Setter for property properties.
8629     * @param properties New value of property properties.
8630     *
8631     */

8632    public void setProperties(Properties properties) {
8633        this.properties = properties;
8634    }
8635
8636    private String JavaDoc readPCDATA(Node JavaDoc textNode) {
8637        NodeList JavaDoc list_child = textNode.getChildNodes();
8638        for (int ck=0; ck< list_child.getLength(); ck++) {
8639            Node JavaDoc child_child = (Node JavaDoc)list_child.item(ck);
8640            if (child_child.getNodeType() == Node.CDATA_SECTION_NODE ||
8641            child_child.getNodeType() == Node.TEXT_NODE) {
8642                return (String JavaDoc)child_child.getNodeValue();
8643            }
8644        }
8645        return "";
8646    }
8647
8648    public boolean saveiReportConfiguration() {
8649        // Get the path of this class...
8650
// this.getClass().getResource("MainFrame");
8651
File dir = new File(IREPORT_USER_HOME_DIR);
8652        try {
8653            if (dir.exists()) {
8654                if (!dir.isDirectory() ) {
8655                    javax.swing.JOptionPane.showMessageDialog( this,
8656                            I18n.getFormattedString("messages.errorIsDirectory",
8657                            "{0} is not a directory!\nPlease rename this file and retry to save config!",new Object JavaDoc[]{dir.getPath() + ""}),"",JOptionPane.ERROR_MESSAGE);
8658                    return false;
8659                }
8660            }
8661            else {
8662                dir.mkdirs();
8663            }
8664        } catch (Exception JavaDoc ex) {
8665            javax.swing.JOptionPane.showMessageDialog( this,
8666                    I18n.getFormattedString("messages.errorSavingConfigDialog",
8667                    "An error is occurred saving iReport config:\n{0}\nPlease try to save config again!", new Object JavaDoc[]{""+ex.getMessage()}),"",JOptionPane.ERROR_MESSAGE);
8668            return false;
8669        }
8670
8671        return saveiReportConfiguration( IREPORT_CONFIG_FILE );
8672    }
8673    public boolean saveiReportConfiguration(String JavaDoc xmlFile) {
8674        try {
8675            //PrintWriter pw = new PrintWriter( new FileWriter(xmlFile) );
8676

8677            PrintWriter pw = new PrintWriter( new OutputStreamWriter(new
8678                        FileOutputStream(xmlFile),"UTF-8"));
8679
8680            // Find iReport configuration in the home directory...
8681
// 1. Save all properties using am XML style...
8682

8683            if (getConnections().size() > 0 && properties.get("DefaultConnection") == null)
8684            {
8685                IReportConnection irc = (IReportConnection)getConnections().elementAt(0);
8686                properties.put("DefaultConnection", irc);
8687            }
8688/*
8689            this.getProperties().setProperty("RightColumnVisible",""+ (jSplitPaneHelp.getDividerSize() != 0));
8690            if (jSplitPaneHelp.getDividerSize() != 0)
8691            {
8692                this.getProperties().setProperty("RightColumnWidth",""+ dockingContainerRight.getWidth());
8693            }
8694*/

8695            //System.out.println("divider location:" + jSplitPaneHelp.getDividerLocation() + " " + (jSplitPaneHelp.getWidth()-8-rightColumnWidth));
8696

8697
8698            pw.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
8699            pw.println("<!-- iReport 2 Configuration file - " + new Date() + " -->");
8700            pw.println("<!DOCTYPE iReportProperties PUBLIC \"-//iReport/DTD iReport Configuration//EN\" \"http://ireport.sourceforge.net/dtds/iReportProperties.dtd\">");
8701        pw.println("<iReportProperties>");
8702
8703            Enumeration e = this.getProperties().keys();
8704            while (e.hasMoreElements()) {
8705                String JavaDoc key = (String JavaDoc)e.nextElement();
8706                pw.println("\t<iReportProperty name=\""+ key +"\"><![CDATA["+ this.getProperties().get(key) +"]]></iReportProperty>");
8707            }
8708
8709            e = this.getConnections().elements();
8710            while (e.hasMoreElements()) {
8711                IReportConnection con = (IReportConnection)e.nextElement();
8712                con.save(pw);
8713            }
8714
8715            e = this.getQueryExecuters().elements();
8716            while (e.hasMoreElements()) {
8717                QueryExecuterDef qe = (QueryExecuterDef)e.nextElement();
8718                pw.println("\t<QueryExecuter factory=\""+ qe.getClassName() +"\" fieldsProvider=\""+ qe.getFieldsProvider() +"\"><![CDATA["+ qe.getLanguage() +"]]></QueryExecuter>");
8719            }
8720
8721            pw.println("</iReportProperties>");
8722            pw.close();
8723        } catch (Exception JavaDoc ex) {
8724            //ex.printStackTrace(s
8725
try {
8726                this.logOnConsole(I18n.getFormattedString("messages.errorSavingConfig", "Error saving Configuration file: {0}\n{1}\n", new Object JavaDoc[]{xmlFile, ex.getMessage()} ),false);
8727                
8728            } catch (Exception JavaDoc exsx)
8729            {}
8730            return false;
8731        }
8732        try {
8733            this.logOnConsole(I18n.getFormattedString("messages.configUpdated", "iReport configuration file {0} successfully updated!\n", new Object JavaDoc[]{xmlFile} ),false);
8734        } catch (Exception JavaDoc ex)
8735        { }
8736        return true;
8737    }
8738
8739
8740
8741    public boolean saveFileList( Vector v, String JavaDoc xmlFile) {
8742        // Get the path of this class...
8743
// this.getClass().getResource("MainFrame");
8744

8745        File dir = new File( IREPORT_USER_HOME_DIR );
8746        try {
8747            if (dir.exists()) {
8748                if (!dir.isDirectory() ) {
8749                    javax.swing.JOptionPane.showMessageDialog( this,
8750                            I18n.getFormattedString("messages.errorIsDirectory",
8751                            "{0} is not a directory!\nPlease rename this file and retry to save config!",new Object JavaDoc[]{dir.getPath() + ""}),"",JOptionPane.ERROR_MESSAGE);
8752                    return false;
8753                }
8754            }
8755            else {
8756                dir.mkdirs();
8757            }
8758        } catch (Exception JavaDoc ex) {
8759            javax.swing.JOptionPane.showMessageDialog( this,
8760                    I18n.getFormattedString("messages.errorSavingConfigDialog",
8761                    "An error is occurred saving iReport config:\n{0}\nPlease try to save config again!", new Object JavaDoc[]{""+ex.getMessage()}),"",JOptionPane.ERROR_MESSAGE);
8762            return false;
8763        }
8764
8765        //xmlFile = dir.getPath()+ File.separatorChar + xmlFile;
8766

8767        try {
8768            PrintWriter pw = new PrintWriter( new FileWriter(xmlFile) );
8769            // Find iReport configuration in the home directory...
8770
// 1. Save all properties using am XML style...
8771
pw.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
8772            pw.println("<!-- iReport 2 file list - " + new Date() + " -->");
8773            pw.println("<!DOCTYPE iReportFilesList PUBLIC \"-//iReport/DTD iReport Configuration//EN\" \"http://ireport.sourceforge.net/dtds/iReportFilesList.dtd\">");
8774            pw.println("<iReportFilesList>");
8775
8776            Enumeration e = v.elements();
8777            int i=0;
8778            int max_files = 10;
8779            try {
8780                max_files = Integer.parseInt(getProperties().getProperty("RecentFilesLength"));
8781            } catch (Exception JavaDoc ex) {
8782                getProperties().setProperty("RecentFilesLength","10");
8783            }
8784
8785            while (i < max_files && e.hasMoreElements()) {
8786                String JavaDoc file = (String JavaDoc)e.nextElement();
8787                pw.println("\t<iReportFile><![CDATA["+ file +"]]></iReportFile>");
8788                i++;
8789            }
8790            pw.println("</iReportFilesList>");
8791            pw.close();
8792        } catch (Exception JavaDoc ex) {
8793            //ex.printStackTrace(s
8794
try {
8795                this.logOnConsole(I18n.getFormattedString("messages.errorSavingIReportFile","Error saving iReport file: {0}\n{1}\n", new Object JavaDoc[]{xmlFile,ex.getMessage()} ),false);
8796               
8797            } catch (Exception JavaDoc exsx)
8798            {}
8799            return false;
8800        }
8801        try {
8802            this.logOnConsole(I18n.getFormattedString("messages.fileUpdated","iReport file {0} successfully updated!\n", new Object JavaDoc[]{xmlFile} ),false);
8803        } catch (Exception JavaDoc ex)
8804        { }
8805        return true;
8806    }
8807
8808
8809
8810    public void logOnConsole(String JavaDoc noHTML) {
8811        getLogPane().getMainLogTextArea().logOnConsole(noHTML,false);
8812    }
8813
8814    public void logOnConsole(String JavaDoc s, boolean isHTML) {
8815        getLogPane().getMainLogTextArea().logOnConsole(s,isHTML);
8816    }
8817
8818    /** Getter for property ttfFonts.
8819     * @return Value of property ttfFonts.
8820     *
8821     */

8822    public java.util.Vector JavaDoc getTtfFonts() {
8823        return ttfFonts;
8824    }
8825
8826    /** Setter for property ttfFonts.
8827     * @param ttfFonts New value of property ttfFonts.
8828     *
8829     */

8830    public void setTtfFonts(java.util.Vector JavaDoc ttfFonts) {
8831        this.ttfFonts = ttfFonts;
8832    }
8833
8834
8835    public void reportBandChanged(ReportBandChangedEvent evt) {
8836        fireReportListenerReportBandChanged( evt );
8837    }
8838
8839    public void reportElementsChanged(ReportElementChangedEvent evt) {
8840
8841        fireReportListenerReportElementsChanged( evt );
8842        //we need to set the report to show it has been modified.
8843
Report mod = evt.getJReportFrame().getReport();
8844        mod.incrementReportChanges();
8845        //mod.setModified(true);
8846
this.enableSaveSpecific();
8847        this.enableSaveAllSpecific();
8848
8849    }//end reportElementsChanged
8850

8851    /**
8852     *Used to enable anything strictly save related. Not save all.
8853     */

8854    public void enableSaveSpecific() {
8855        //TODO add events to update gui when changes occur in expressions.
8856
//this had to be commented out until that day arrives.
8857
//brainjava will be working on this
8858
/*
8859       this.jButtonSave.setEnabled(true);
8860       this.jMenuItemSave.setEnabled(true);
8861        **/

8862    }
8863
8864    /**
8865     *Used to disable anything Save. Not save all.
8866     */

8867    public void disableSaveSpecific() {
8868
8869        //TODO add more events so code can be comented back in
8870
//this had to be removed until events can be added to
8871
//the expression updates so the gui will know changes have
8872
//occurred
8873
/*
8874       this.jButtonSave.setEnabled(false);
8875       this.jMenuItemSave.setEnabled(false);
8876        **/

8877    }//end disableSaveSpecific
8878

8879    /**
8880     *Used to enable anything strictly save all related. Not save.
8881     */

8882    public void enableSaveAllSpecific() {
8883        this.jMenuItemSaveAll.setEnabled(true);
8884        this.jButtonSaveAll.setEnabled(true);
8885    }//end enableSaveAllSpecific
8886

8887    /**
8888     *Used to disable anything Save. Not save all.
8889     */

8890    public void disableSaveAllSpecific() {
8891        this.jMenuItemSaveAll.setEnabled(false);
8892        this.jButtonSaveAll.setEnabled(false);
8893    }//end disableSaveAllSpecific
8894

8895
8896
8897    /** This method is called when a new element is selected,
8898     * or deselected.
8899     *
8900     */

8901    public void reportElementsSelectionChanged(ReportElementsSelectionEvent evt) {
8902
8903        Vector activeSelection = this.getActiveElementSelection(getActiveReportFrame());
8904
8905        setDontHandleEvent(true);
8906
8907        try {
8908
8909            // we have to synchronize the selection with the toolbar state...
8910

8911            boolean sameFontName = true;
8912            boolean sameFontSize = true;
8913
8914            boolean isTheFirstElement = true;
8915
8916
8917
8918            if (activeSelection.size() == 0)
8919            {
8920                ElementPropertiesDialog.setComboBoxText(isTheFirstElement, "SansSerif" , jComboBoxFont);
8921                ElementPropertiesDialog.setElementComboNumber(isTheFirstElement, 10, jNumberComboBoxSize );
8922            }
8923            else
8924            {
8925                for (int i=0; i<activeSelection.size(); ++i)
8926                {
8927                    ReportElement re = (ReportElement)activeSelection.elementAt(i);
8928                    if (re instanceof TextReportElement)
8929                    {
8930                        TextReportElement tre = (TextReportElement)re;
8931
8932                        String JavaDoc fontName = tre.getFontName();
8933                        if (fontName == null || fontName.trim().length() == 0) fontName ="SansSerif";
8934
8935                        if (sameFontName) sameFontName = ElementPropertiesDialog.setComboBoxText(isTheFirstElement, fontName , jComboBoxFont);
8936                        if (sameFontSize) sameFontSize = ElementPropertiesDialog.setElementComboNumber(isTheFirstElement, tre.getFontSize() , jNumberComboBoxSize );
8937
8938                        isTheFirstElement = false;
8939                    }
8940                }
8941            }
8942
8943        } catch (Exception JavaDoc ex)
8944        {
8945
8946        }
8947        finally
8948        {
8949            setDontHandleEvent(false);
8950        }
8951
8952        fireReportListenerReportElementsSelectionChanged( evt );
8953    }
8954
8955    /** Getter for property dontHandleEvent.
8956     * @return Value of property dontHandleEvent.
8957     *
8958     */

8959    public boolean isDontHandleEvent() {
8960        return dontHandleEvent;
8961    }
8962
8963    /** Setter for property dontHandleEvent.
8964     * @param dontHandleEvent New value of property dontHandleEvent.
8965     *
8966     */

8967    public void setDontHandleEvent(boolean dontHandleEvent) {
8968        this.dontHandleEvent = dontHandleEvent;
8969    }
8970
8971    /** Getter for property recentFilesList.
8972     * @return Value of property recentFilesList.
8973     *
8974     */

8975    public java.util.Vector JavaDoc getRecentFilesList() {
8976        return recentFilesList;
8977    }
8978
8979    /** Setter for property recentFilesList.
8980     * @param recentFilesList New value of property recentFilesList.
8981     *
8982     */

8983    public void setRecentFilesList(java.util.Vector JavaDoc recentFilesList) {
8984        this.recentFilesList = recentFilesList;
8985    }
8986
8987    /** Getter for property recentProjectsList.
8988     * @return Value of property recentProjectsList.
8989     *
8990     */

8991    public java.util.Vector JavaDoc getRecentProjectsList() {
8992        return recentProjectsList;
8993    }
8994
8995    /** Setter for property recentProjectsList.
8996     * @param recentProjectsList New value of property recentProjectsList.
8997     *
8998     */

8999    public void setRecentProjectsList(java.util.Vector JavaDoc recentProjectsList) {
9000        this.recentProjectsList = recentProjectsList;
9001    }
9002
9003    /** Getter for property favoriteFilesList.
9004     * @return Value of property favoriteFilesList.
9005     *
9006     */

9007    public java.util.Vector JavaDoc getFavoriteFilesList() {
9008        return favoriteFilesList;
9009    }
9010
9011    /** Setter for property favoriteFilesList.
9012     * @param favoriteFilesList New value of property favoriteFilesList.
9013     *
9014     */

9015    public void setFavoriteFilesList(java.util.Vector JavaDoc favoriteFilesList) {
9016        this.favoriteFilesList = favoriteFilesList;
9017    }
9018
9019    private void jMenuItemRecentFileActionPerformed(java.awt.event.ActionEvent JavaDoc evt ) {
9020        if (evt.getSource() instanceof JMenuItem) {
9021            JMenuItem menu = (JMenuItem)evt.getSource();
9022
9023            // Is a recent file?!
9024
for (int i=0; i< jMenuRecentFiles.getMenuComponentCount(); ++ i) {
9025                if (jMenuRecentFiles.getMenuComponent(i) == menu) {
9026
9027                    // If not already Opened, open entry # i
9028
JReportFrame frameReport = openFile( (String JavaDoc)recentFilesList.elementAt(i));
9029                    if(frameReport != null){
9030
9031                        Report report = frameReport.getReport();
9032
9033                        if( report.isModified() ) {
9034                            this.enableSaveSpecific();
9035                            this.enableSaveAllSpecific();
9036                        }
9037                        else {
9038                            this.disableSaveSpecific();
9039                            if( this.isSaveAllRequired() ) {
9040                                this.enableSaveAllSpecific();
9041                            }
9042                            else {
9043                                this.disableSaveAllSpecific();
9044                            }
9045                        }
9046                        break;
9047                    }
9048                }
9049            }
9050        }
9051    }
9052
9053    public void updateRecentFileMenu(JMenu menu, Vector v) {
9054        menu.removeAll();
9055        Enumeration e = v.elements();
9056        int i=1;
9057
9058        int k=0;
9059        int max_files = 10;
9060        try {
9061            max_files = Integer.parseInt(getProperties().getProperty("RecentFilesLength"));
9062        } catch (Exception JavaDoc ex) {
9063            getProperties().setProperty("RecentFilesLength","10");
9064        }
9065
9066        while (k < max_files && e.hasMoreElements()) {
9067
9068            JMenuItem subMenu = new JMenuItem( i+". "+Misc.getShortFileName((String JavaDoc)e.nextElement()));
9069            subMenu.addActionListener( new java.awt.event.ActionListener JavaDoc() {
9070                public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
9071                    jMenuItemRecentFileActionPerformed(evt);
9072                }
9073
9074            });
9075            menu.add(subMenu);
9076            i++;
9077            k++;
9078        }
9079    }
9080
9081    public void updateRecentProjectMenu(JMenu menu, Vector v) {
9082    }
9083    public void updateUndoMenu(JReportFrame jrf) {
9084
9085        if (jrf == null) {
9086            this.jMenuItemUndo.setEnabled(false);
9087            this.jMenuItemRedo.setEnabled(false);
9088            return;
9089        }
9090        if (jrf.getUndoOperation() != null) {
9091            this.jMenuItemUndo.setEnabled(true);
9092            this.jMenuItemUndo.setText(it.businesslogic.ireport.util.I18n.getString("undo","Undo")+ " " + jrf.getUndoOperation());
9093        }
9094        else {
9095            this.jMenuItemUndo.setEnabled(false);
9096            this.jMenuItemUndo.setText(it.businesslogic.ireport.util.I18n.getString("undo","Undo"));
9097        }
9098
9099        if (jrf.getRedoOperation() != null) {
9100            this.jMenuItemRedo.setEnabled(true);
9101            this.jMenuItemRedo.setText(it.businesslogic.ireport.util.I18n.getString("redo","Redo")+ " " + jrf.getRedoOperation());
9102        }
9103        else {
9104            this.jMenuItemRedo.setEnabled(false);
9105            this.jMenuItemRedo.setText(it.businesslogic.ireport.util.I18n.getString("redo","Redo"));
9106        }
9107    }
9108
9109    public void setCrosstabActive(CrosstabReportElement crosstabReportElement)
9110    {
9111
9112        boolean bMode = this.getActiveReportFrame() != null && crosstabReportElement == null;
9113        JReportFrame jrf = this.getActiveReportFrame();
9114        this.jToggleButtonCrosstabTool.setEnabled(bMode);
9115        this.jToggleButtonSubreportTool.setEnabled(bMode);
9116        this.jToggleButtonChartTool.setEnabled(bMode);
9117
9118        jToolbarFormatPanel.setCrosstabMode( bMode);
9119
9120        jMenuItemInsertPageBreak.setEnabled(bMode);
9121        jMenuItemAlignToBandBottom.setEnabled(bMode);
9122        jMenuItemAlignToBandTop.setEnabled(bMode);
9123        jMenuItemBands.setEnabled(bMode);
9124        jMenuItemCenterBackground.setEnabled(bMode);
9125        //jMenuItemCenterH.setEnabled(bMode);
9126
//jMenuItemCenterInBand.setEnabled(bMode);
9127
//jMenuItemCenterV.setEnabled(bMode);
9128
jMenuItemLeftMargin.setEnabled(bMode);
9129        jMenuItemOrganize.setEnabled(bMode);
9130        jMenuItemRemoveMargins.setEnabled(bMode);
9131        jMenuItemRightMargin.setEnabled(bMode);
9132        jMenuItemRightSide.setEnabled(bMode);
9133
9134        this.getElementPropertiesDialog().clearExpressionEditorContext();
9135
9136        setActiveTool(0);
9137
9138        crosstabMeasuresView.setCrosstabReportElement(crosstabReportElement);
9139
9140        if (DockingManager.isDocked( (Dockable)crosstabMeasuresPanelView) && crosstabReportElement == null)
9141        {
9142            DockingManager.close( crosstabMeasuresPanelView);
9143        }
9144        
9145        if (DockingManager.isDocked( (Dockable)crosstabStructureView) && crosstabReportElement == null)
9146        {
9147            DockingManager.close( crosstabStructureView);
9148        }
9149        
9150        // dockingContainerRight.removePanel(crosstabMeasuresView);
9151
if (crosstabReportElement != null)
9152        {
9153            if (!DockingManager.isDocked( (Dockable)crosstabMeasuresPanelView))
9154            {
9155                desktop.dock(crosstabMeasuresPanelView, DockingConstants.EAST_REGION, 0.2f);
9156            }
9157            //CR-rg.flexdock.docking.DockingManager.setSplitProportion(crosstabMeasuresPanelView.getComponent(), 0.8f);
9158
crosstabMeasuresPanelView.setActive(true);
9159            // dockingContainerRight.insertPanel(0,"Crosstab objects", crosstabMeasuresView, dockingContainerRight.INSERT_MODE_NEWPOSITION, false);
9160
// dockingContainerRight.setSelectedComponent( crosstabMeasuresView );
9161
Vector elements = new Vector();
9162            if (jrf != null && jrf.getSelectedCrosstabEditorPanel() != null)
9163            {
9164                elements = jrf.getSelectedCrosstabEditorPanel().getSelectedElements();
9165            }
9166            fireReportListenerReportElementsSelectionChanged(new ReportElementsSelectionEvent(jrf,crosstabReportElement, elements));
9167        }
9168        else if (jrf != null)
9169        {
9170                        fireReportListenerReportElementsSelectionChanged(new ReportElementsSelectionEvent(jrf,crosstabReportElement,jrf.getSelectedElements()));
9171        }
9172
9173
9174        // dockingContainerLeft.removePanel(crosstabStructurePanel);
9175
crosstabStructurePanel.saveSelection();
9176
9177        if (crosstabReportElement != null)
9178        {
9179            crosstabStructurePanel.updateDocumentStructureTree(getActiveReportFrame(),crosstabReportElement);
9180            
9181            if (!DockingManager.isDocked( (Dockable)crosstabStructureView))
9182            {
9183                crosstabMeasuresPanelView.dock((Dockable)crosstabStructureView, DockingConstants.SOUTH_REGION, 0.5f);
9184                DockingManager.setSplitProportion((Dockable)crosstabMeasuresPanelView, 0.5f );
9185            }
9186            
9187            //Misc.dockAt(crosstabStructureView, DockingConstants.EAST_REGION,0);
9188

9189            /*
9190            //boolean b = org.flexdock.util.DockingUtility.dockRelative(crosstabStructureView, viewDocumentStructure, DockingConstants.SOUTH_REGION);
9191
9192            if (!b)
9193            {
9194                b = DockingManager.dock((Dockable)crosstabStructureView, crosstabMeasuresPanelView.getDockingPort(),DockingConstants.SOUTH_REGION);
9195                System.out.println( "Docking on crosstabMeasuresPanelView CENTER " + b);
9196            }
9197
9198            //crosstabMeasuresPanelView.dock( crosstabStructureView, DockingConstants.SOUTH_REGION);
9199            if (b)
9200            {
9201
9202                java.awt.Component comp = crosstabStructureView.getComponent();
9203                //System.out.println( "Take " + comp);
9204        java.awt.Container parent = comp.getParent();
9205                //System.out.println( "Take parent1" + parent);
9206        if( parent instanceof javax.swing.JTabbedPane ) {
9207            parent = parent.getParent();
9208                        //System.out.println( "Take parent2 (JTabbedPane) " + parent);
9209        }
9210
9211        if (!(parent instanceof DockingPort))
9212                {
9213                    //System.out.println( "Not a Docking port");
9214                }
9215                else
9216                {
9217                    java.awt.Container grandParent = parent.getParent();
9218                    if(grandParent instanceof JSplitPane)
9219                    {
9220                            javax.swing.JSplitPane jsp = (javax.swing.JSplitPane)grandParent;
9221                            System.out.println( "JSplitPane found " + jsp.getOrientation() + " H=" + jsp.HORIZONTAL_SPLIT + " V=" + jsp.VERTICAL_SPLIT);
9222                            jsp.setDividerLocation(0.5f);
9223                            jsp.setResizeWeight(0.5f);
9224                    }
9225                }
9226
9227            }
9228            */

9229            //crosstabStructureView.setActive(true);
9230
// dockingContainerLeft.insertPanel(0, "Crosstab structure", crosstabStructurePanel, false);
9231
// dockingContainerLeft.setSelectedComponent( crosstabStructurePanel );
9232
}
9233        
9234        desktop.doLayout();
9235        // dockingContainerLeft.updateUI();
9236
}
9237
9238    public void updateCutAndPasteMenu(JReportFrame jrf) {
9239
9240        if (jrf == null) {
9241            setCutCopyEnabled(false);
9242            setPasteEnebled(false);
9243            return;
9244        }
9245
9246        Vector selection = getActiveElementSelection(jrf);
9247        if (selection != null && selection.size() > 0) {
9248            setCutCopyEnabled(true);
9249            if (getClipBoard().size()>0)
9250                setPasteEnebled(true);
9251        }
9252        else {
9253            setCutCopyEnabled(false);
9254            if (getClipBoard().size()>0)
9255                setPasteEnebled(true);
9256        }
9257    }
9258
9259
9260
9261    public Vector getActiveElementSelection(JReportFrame jrf)
9262    {
9263        if (jrf == null) return new Vector();
9264        if (jrf.getSelectedCrosstabEditorPanel() == null)
9265        {
9266            return jrf.getSelectedElements();
9267        }
9268        else
9269        {
9270            return jrf.getSelectedCrosstabEditorPanel().getSelectedElements();
9271        }
9272    }
9273
9274
9275    public void undo() {
9276        jMenuItemUndoActionPerformed(new java.awt.event.ActionEvent JavaDoc(jMenuItemUndo,0,""));
9277    }
9278
9279    public void redo() {
9280        jMenuItemRedoActionPerformed(new java.awt.event.ActionEvent JavaDoc(jMenuItemUndo,0,""));
9281
9282    }
9283
9284    /**
9285     * Update the jTreeDocumen (the tree with the opened files)
9286     */

9287    public void updateOpenedDocumentsList() {
9288
9289        try {
9290        jTreeFiles.updateUI();
9291        } catch (Exception JavaDoc ex1) {
9292            ex1.printStackTrace ();
9293        }
9294    }
9295
9296    /** Getter for property activeClipboard.
9297     * @return Value of property activeClipboard.
9298     *
9299     */

9300    public int getActiveClipboard() {
9301        return activeClipboard;
9302    }
9303
9304    /** Setter for property activeClipboard.
9305     * @param activeClipboard New value of property activeClipboard.
9306     *
9307     */

9308    public void setActiveClipboard(int activeClipboard) {
9309        this.activeClipboard = activeClipboard;
9310    }
9311
9312    public Vector getClipBoard() {
9313        return clipboards[getActiveClipboard()];
9314    }
9315
9316    public void setClipBoardContent(Vector elements) {
9317        clipboards[getActiveClipboard()] = elements;
9318
9319    }
9320
9321    /** Getter for property homeDirectory.
9322     * @return Value of property homeDirectory.
9323     *
9324     */

9325    public java.lang.String JavaDoc getHomeDirectory() {
9326        return homeDirectory;
9327    }
9328
9329    /** Setter for property homeDirectory.
9330     * @param homeDirectory New value of property homeDirectory.
9331     *
9332     */

9333    public void setHomeDirectory(java.lang.String JavaDoc homeDirectory) {
9334        this.homeDirectory = homeDirectory;
9335    }
9336
9337    public String JavaDoc getCurrentDirectory() {
9338        return "" + Misc.nvl( getProperties().getProperty("CurrentDirectory"), ".");
9339    }
9340
9341    public void run() {
9342
9343        //System.out.println("Avvio controllo " + (new java.util.Date()) );
9344
//System.out.flush();
9345

9346        if (catchFormActivated)
9347        {
9348            catchFormActivated = false;
9349            this.checkForModifiedFiles();
9350            catchFormActivated = true;
9351        }
9352
9353    }
9354
9355
9356    public void saveBackup(String JavaDoc filename) {
9357        java.io.File JavaDoc f = new java.io.File JavaDoc(filename);
9358        if ( f.exists()) {
9359            String JavaDoc path = f.getParent();
9360            String JavaDoc file = f.getName();
9361
9362            if (getProperties().getProperty("DefaultBackupDirectory") != null &&
9363            (""+getProperties().getProperty("DefaultBackupDirectory")).length()>0)
9364                path = getProperties().getProperty("DefaultBackupDirectory");
9365
9366            if (getProperties().getProperty("BackupPolicy") != null &&
9367            (""+getProperties().getProperty("BackupPolicy")).equalsIgnoreCase("1")) {
9368                return;
9369            } else if (getProperties().getProperty("BackupPolicy") != null &&
9370            (""+getProperties().getProperty("BackupPolicy")).equalsIgnoreCase("2")) {
9371                file = Misc.changeFileExtension(file, "bak");
9372            } else {
9373                file += ".bak";
9374            }
9375            try {
9376                //String back_path = getProperties().getProperty( "
9377
File f2 = new java.io.File JavaDoc( path, file); // + ((path.endsWith(java.io.File.separatorChar+"")) ? "" : ""+java.io.File.separatorChar) + file);
9378
if (f2.exists()) {
9379                    if (!f2.delete()) {
9380                        this.logOnConsole(I18n.getFormattedString("messages.cannotDelete","Can not delete {0} <br>", new Object JavaDoc[]{f2+""} ),true);
9381                    }
9382                }
9383
9384                f.renameTo( f2 );
9385                this.logOnConsole(I18n.getFormattedString("messages.fileRenamed","Renamed {0} to {1}<br>", new Object JavaDoc[]{f+"", f2+""} ),true);
9386                
9387                //com.ms.wfc.io.File.copyOver( filename, com.ms.wfc.io.File.combine(path,file));
9388
} catch (Exception JavaDoc ex) {
9389                javax.swing.JOptionPane.showMessageDialog(this,
9390                        I18n.getFormattedString("messages.errorSavingBackup",
9391                        "An exception is occurred saving backup copy.\n{0}", new Object JavaDoc[]{""+ex.getMessage()}),
9392                        "",javax.swing.JOptionPane.ERROR_MESSAGE);
9393            }
9394        }
9395    }
9396
9397    /* Thanks to James Fu */
9398    private void setElementValue(Object JavaDoc element, String JavaDoc method, String JavaDoc value) {
9399       setElementValue(element, method, value, String JavaDoc.class);
9400    }
9401    /* Thanks to James Fu */
9402    public void setElementsValue(String JavaDoc method,String JavaDoc value ) {
9403        setElementsValue( method, value, String JavaDoc.class);
9404    }
9405
9406
9407    private void setElementValue(Object JavaDoc element, String JavaDoc method, Object JavaDoc value, Class JavaDoc clazz) {
9408
9409            try {
9410                java.lang.reflect.Method JavaDoc setMethod = element.getClass().getMethod(method, new Class JavaDoc[]
9411                {clazz});
9412                setMethod.invoke(element, new Object JavaDoc[]
9413                {value});
9414
9415
9416
9417            }
9418            catch (Exception JavaDoc e) {
9419                e.printStackTrace();
9420            }
9421    }
9422
9423
9424    /* Thanks to James Fu */
9425    public void setElementsValue(String JavaDoc method, Object JavaDoc value, Class JavaDoc clazz ) {
9426        JReportFrame jrf = (JReportFrame)jMDIDesktopPane.getSelectedFrame();
9427        if (jrf == null) return;
9428        // Set the new value for all selected elements...
9429
Enumeration e = getActiveElementSelection(jrf).elements();
9430        boolean adjusted = false;
9431        while (e.hasMoreElements()) {
9432            ReportElement repele = (ReportElement)e.nextElement();
9433            if (repele instanceof TextReportElement)
9434            {
9435                TextReportElement element = (TextReportElement)repele;
9436                setElementValue(element, method, value, clazz);
9437                element.setFont(null);
9438                if (IReportFont.adjustPdfFontName(element))
9439                {
9440                    adjusted = true;
9441                }
9442            }
9443        }
9444
9445        ReportElementChangedEvent changedEvent = new ReportElementChangedEvent(jrf ,(jrf.getSelectedCrosstabEditorPanel() != null) ? jrf.getSelectedCrosstabEditorPanel().getCrosstabElement() : null , getActiveElementSelection(jrf) , ReportElementChangedEvent.CHANGED);
9446        //changedEvent.setEventSource( this );
9447
//changedEvent.setPropertyChanged( "fontSize" );
9448
//changedEvent.setNewValue(value);
9449
jrf.fireReportListenerReportElementsChanged(changedEvent);
9450        this.getElementPropertiesDialog().updateSelection();
9451
9452
9453        CrosstabEditorPanel pa = getActiveReportFrame().getSelectedCrosstabEditorPanel();
9454        if (pa == null)
9455            jrf.getJPanelReport().repaint();
9456        else
9457            pa.repaint();
9458    }
9459
9460    //TODO */
9461
////////////////////////////////////////
9462
/*
9463     *
9464    The methods below which are being used for pref settings need to be moved
9465    to another location. This is just a quick fix sort of thing.
9466       wade
9467     */

9468    ///////////////////////////////////////
9469

9470    /**
9471     *Used to set the application preference/option/property UseMultiLineExpressions
9472     *@pram useMultiLineExpressions whether to use or not to use them.
9473     */

9474    public void setUsingMultiLineExpressions(boolean useMultiLineExpressions) {
9475
9476        String JavaDoc boolVal = ""+false; //""+useMultiLineExpressions;
9477

9478        this.properties.setProperty("usingMultiLineExpressions", boolVal);
9479    }//end setUseMultiLineExpressions
9480

9481    /**
9482     *Used to tell whether or not to be using multi line expressions.
9483     *@return whether multiline expressions are being used or not.
9484     */

9485    public boolean isUsingMultiLineExpressions() {
9486        boolean ret = false;
9487                /*
9488                String prop = this.properties.getProperty("usingMultiLineExpressions");
9489                if(prop != null) {
9490                        ret = prop.trim().equalsIgnoreCase("true");
9491                }
9492                else {
9493                        ret = false;
9494                }
9495                 */

9496        return ret;
9497    }//end isUsingMultiLineExpressions
9498

9499    /**
9500     *Method used to tell compiler to use the directory the file being compiled in
9501     *for the compile directory. This is for simplicity of development.
9502     *@param useCurrentFilesDirectoryForCompiles speaks for itself
9503     */

9504    public void setUsingCurrentFilesDirectoryForCompiles(boolean usingCurrentFilesDirectoryForCompiles) {
9505        this.properties.setProperty("useCurrentFilesDirectoryForCompiles", ""+usingCurrentFilesDirectoryForCompiles);
9506    }
9507
9508    /**
9509     *Used to tell if the compiler should use the current files directory for the compile.
9510     *@return whether or not to use the current files directory for the compile.
9511     */

9512    public boolean isUsingCurrentFilesDirectoryForCompiles() {
9513        boolean ret = false;
9514        ret = this.properties.getProperty("useCurrentFilesDirectoryForCompiles", "false").trim().equalsIgnoreCase("true");
9515        return ret;
9516    }
9517
9518    /**
9519     *Used to set the default compilation directory
9520     *@param defaultCompilationDirectory
9521     */

9522    public void setDefaultCompilationDirectory(String JavaDoc defaultCompilationDirectory) {
9523        IREPORT_TMP_DIR = defaultCompilationDirectory;
9524    }
9525
9526    /**
9527     *Method used to get the default compilation directory
9528     *@return the default compilation directory for ireport
9529     */

9530    public String JavaDoc getDefaultCompilationDirectory() {
9531
9532        if (IREPORT_TMP_DIR != null) return IREPORT_TMP_DIR;
9533        return IREPORT_HOME_DIR;
9534                /*
9535                String ret = this.properties.getProperty("ireport.temp", IREPORT_TMP_DIR);
9536                if( ret.trim().length() > 0 ) {
9537
9538                }
9539                else {
9540                        ret = IREPORT_TMP_DIR;
9541                }
9542                return ret;
9543                 */

9544
9545    }
9546
9547    /**
9548     *Method used to translate properties that dictate where the compilation directory
9549     *should be so that the correct directory can be obtained and used.
9550     *@return the compilation directory to use for the reports.
9551     */

9552    public String JavaDoc getTranslatedCompileDirectory() {
9553        String JavaDoc ret = null;
9554        if( this.isUsingCurrentFilesDirectoryForCompiles() ) {
9555            javax.swing.JInternalFrame JavaDoc f = this.jMDIDesktopPane.getSelectedFrame();
9556            if( f != null && f instanceof JReportFrame ) {
9557                JReportFrame rf = (JReportFrame)f;
9558                String JavaDoc fileName = rf.getReport().getFilename();
9559                if( fileName != null ) {
9560                    java.io.File JavaDoc rfile = new java.io.File JavaDoc(fileName);
9561                    ret = rfile.getParent();
9562                }
9563                else {
9564                    ret = this.getDefaultCompilationDirectory();
9565                }
9566
9567            }
9568            else {
9569                ret = this.getDefaultCompilationDirectory();
9570            }
9571        }
9572        else {
9573            ret = this.getDefaultCompilationDirectory();
9574        }
9575        return ret;
9576    }
9577
9578    /**
9579     *Used to hold the viewer setting.
9580     *@param reportViewer the viewer to use
9581     */

9582    public void setReportViewer(int reportViewer) {
9583        switch( reportViewer ) {
9584            case IREPORT_JAVA_VIEWER:
9585                this.jRadioButtonMenuItemPreviewJAVA.setSelected(true);
9586                break;
9587            case IREPORT_PDF_VIEWER:
9588                this.jRadioButtonMenuItemPreviewPDF.setSelected(true);
9589                break;
9590            case IREPORT_HTML_VIEWER:
9591                this.jRadioButtonMenuItemPreviewHTML.setSelected(true);
9592                break;
9593            case IREPORT_XLS_VIEWER:
9594                this.jRadioButtonMenuItemPreviewXLS.setSelected(true);
9595                break;
9596            case IREPORT_XLS2_VIEWER:
9597                this.jRadioButtonMenuItemPreviewXLS2.setSelected(true);
9598                break;
9599            case IREPORT_CSV_VIEWER:
9600                this.jRadioButtonMenuItemPreviewCSV.setSelected(true);
9601                break;
9602            case IREPORT_TXT_VIEWER:
9603                this.jRadioButtonMenuItemPreviewTXT.setSelected(true);
9604                break;
9605            case IREPORT_TXT_JR_VIEWER:
9606                this.jRadioButtonMenuItemPreviewTXTJR.setSelected(true);
9607                break;
9608            case IREPORT_RTF_VIEWER:
9609                this.jRadioButtonMenuItemPreviewRTF.setSelected(true);
9610                break;
9611
9612            case IREPORT_JASPER_VIEWER:
9613            default:
9614                reportViewer = IREPORT_JASPER_VIEWER;
9615                this.jRadioButtonMenuItemPreviewInternalViewer.setSelected(true);
9616                break;
9617        }//end switch report viewer
9618
this.properties.setProperty("DefaultReportViewer", ""+reportViewer);
9619
9620    }//end setReportViewer
9621

9622    /**
9623     *Used to get which viewer is in use
9624     *@returns the in representing the viewer in use.
9625     */

9626    public int getReportViewer() {
9627        int ret = IREPORT_JASPER_VIEWER;
9628        try {
9629            ret = Integer.parseInt(this.properties.getProperty("DefaultReportViewer", ""+IREPORT_JASPER_VIEWER));
9630        }
9631        catch(Throwable JavaDoc e) {
9632            //hmm, don't guess we care...we'll correct it internally.
9633
}
9634        switch( ret ) {
9635            case IREPORT_JAVA_VIEWER:
9636                break;
9637            case IREPORT_PDF_VIEWER:
9638                break;
9639            case IREPORT_HTML_VIEWER:
9640                break;
9641            case IREPORT_XLS_VIEWER:
9642                break;
9643            case IREPORT_XLS2_VIEWER:
9644                break;
9645            case IREPORT_CSV_VIEWER:
9646                break;
9647            case IREPORT_TXT_VIEWER:
9648                break;
9649            case IREPORT_TXT_JR_VIEWER:
9650                break;
9651            case IREPORT_RTF_VIEWER:
9652                break;
9653            case IREPORT_JASPER_VIEWER:
9654            default:
9655                ret = IREPORT_JASPER_VIEWER;
9656                break;
9657        }//end switch report viewer
9658
return ret;
9659    }//end getReportViewer
9660
public void setEmbeddedIreport(boolean status) {
9661        this.embeddedIreport = status;
9662    }//end setEmbeddedIreport
9663
public boolean isEmbedded() {
9664        return this.embeddedIreport;
9665    }//end isEmbedded
9666

9667    private static Locale lastLocale = null;
9668    public void applyI18n(){
9669        
9670        if (lastLocale != null && lastLocale == I18n.getCurrentLocale()) return;
9671                lastLocale = I18n.getCurrentLocale();
9672                
9673        // Start autogenerated code ----------------------
9674
jCheckBoxMenuItemDocumentStructure.setText(I18n.getString("mainFrame.checkBoxMenuItemDocumentStructure","Document structure"));
9675        jCheckBoxMenuItemElementProperties.setText(I18n.getString("mainFrame.checkBoxMenuItemElementProperties","Element properties"));
9676        jCheckBoxMenuItemExplorer.setText(I18n.getString("mainFrame.checkBoxMenuItemExplorer","Files"));
9677        jCheckBoxMenuItemLibrary.setText(I18n.getString("mainFrame.checkBoxMenuItemLibrary","Library"));
9678        jCheckBoxMenuItemStylesLibrary.setText(I18n.getString("mainFrame.checkBoxMenuItemStylesLibrary","Styles Library"));
9679        jCheckBoxMenuItemThreadList.setText(I18n.getString("mainFrame.checkBoxMenuItemThreadList","Threads list"));
9680        // End autogenerated code ----------------------
9681
// Start autogenerated code ----------------------
9682
jMenuItemInsertPageBreak.setText(I18n.getString("mainFrame.menuItemInsertPageBreak","Insert page/column break"));
9683        jMenuItemChart.setText(I18n.getString("mainFrame.menuItemChart","Chart"));
9684        jMenuItemForum.setText(I18n.getString("mainFrame.menuItemForum","Forum..."));
9685        jMenuItemHomePage.setText(I18n.getString("mainFrame.menuItemHomePage","iReport home page"));
9686        jMenuItemLeftMargin.setText(I18n.getString("mainFrame.menuItemLeftMargin","Join left page margin"));
9687        jMenuItemQueryExecuters.setText(I18n.getString("mainFrame.menuItemQueryExecuters","Query executers"));
9688        jMenuItemReloadFonts.setText(I18n.getString("mainFrame.menuItemReloadFonts","Reload fonts"));
9689        jMenuItemRightMargin.setText(I18n.getString("mainFrame.menuItemRightMargin","Join right page margin"));
9690        jMenuItemSubDataset.setText(I18n.getString("mainFrame.menuItemSubDataset","Subdatasets"));
9691        jMenuItemSubDataset1.setText(I18n.getString("mainFrame.menuItemSubDataset1","Subdatasets"));
9692        jMenuPanels.setText(I18n.getString("mainFrame.menuPanels","Docking panes"));
9693        
9694        jMenuItemCreateFromTemplate.setText(I18n.getString("mainFrame.menuItemCreateFromTemplate","Create from template"));
9695        // End autogenerated code ----------------------
9696

9697      //added by Felix Firgau on Feb 06th 2006
9698
jButtonNew.setToolTipText(it.businesslogic.ireport.util.I18n.getString("newDocument", "New document"));
9699      jButtonOpen.setToolTipText(it.businesslogic.ireport.util.I18n.getString("open", "Open"));
9700      jButtonSave.setToolTipText(it.businesslogic.ireport.util.I18n.getString("save", "Save"));
9701      jButtonCut.setToolTipText(it.businesslogic.ireport.util.I18n.getString("cut", "Cut"));
9702      jButtonCopy.setToolTipText(it.businesslogic.ireport.util.I18n.getString("copy", "Copy"));
9703      jButtonPaste.setToolTipText(it.businesslogic.ireport.util.I18n.getString("paste", "Paste"));
9704      jToggleButtonLineTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("line", "Line"));
9705      jToggleButtonRectTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("rectangle", "Rectangle"));
9706      //jToggleButtonRectRoundTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("roundedRectangle", "Rounded rectangle"));
9707
jToggleButtonEllipseTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("ellipse", "Ellipse"));
9708      jToggleButtonImageTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("image", "Image"));
9709      jToggleButtonStaticTextTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("staticText", "Static text"));
9710      jToggleButtonTextFieldTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("textField", "Textfield"));
9711      jToggleButtonFrameTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("frame", "Frame"));
9712      jToggleButtonSubreportTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("subreport", "Subreport"));
9713      jButtonBands.setToolTipText(it.businesslogic.ireport.util.I18n.getString("bands", "Bands"));
9714      jButtonGroups.setToolTipText(it.businesslogic.ireport.util.I18n.getString("reportGroups", "Report groups"));
9715      jButtonParameters.setToolTipText(it.businesslogic.ireport.util.I18n.getString("parameters", "Report fields, variables and parameters"));
9716      jButtonDatabase.setToolTipText(it.businesslogic.ireport.util.I18n.getString("database", "Database"));
9717      jButtonCompiler.setToolTipText(it.businesslogic.ireport.util.I18n.getString("compile", "Compile"));
9718      jButtonRun1.setToolTipText(it.businesslogic.ireport.util.I18n.getString("executeReport", "Execute report"));
9719      jButtonRun2.setToolTipText(it.businesslogic.ireport.util.I18n.getString("executeReportUsingActiveConnection", "Execute report using active connection"));
9720      jToggleButtonChartTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("chartTool", "Chart tool"));
9721      jToggleButtonBarcodeTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("barcodeTool", "Barcode tool"));
9722      jToggleButtonCrosstabTool.setToolTipText(it.businesslogic.ireport.util.I18n.getString("crossTab", "Crosstab"));
9723      jButtonLens1.setToolTipText(it.businesslogic.ireport.util.I18n.getString("increase", "Increase"));
9724      jButtonLens2.setToolTipText(it.businesslogic.ireport.util.I18n.getString("decrease", "Decrease"));
9725      jComboBoxFont.setToolTipText(it.businesslogic.ireport.util.I18n.getString("font", "Font"));
9726      jNumberComboBoxSize.setToolTipText(it.businesslogic.ireport.util.I18n.getString("fontSize", "Fontsize"));
9727      jButtonIncreaseSize.setToolTipText(it.businesslogic.ireport.util.I18n.getString("fontSizeInc", "Increase fonzsize"));
9728      jButtonDecreaseSize.setToolTipText(it.businesslogic.ireport.util.I18n.getString("fontSizeDec", "Decrease fonzsize"));
9729      jButtonBold.setToolTipText(it.businesslogic.ireport.util.I18n.getString("bold", "Bold"));
9730      jButtonItalic.setToolTipText(it.businesslogic.ireport.util.I18n.getString("italic", "Italic"));
9731      jButtonUnderline.setToolTipText(it.businesslogic.ireport.util.I18n.getString("underlined", "Underlined"));
9732      jButtonStrikethrought.setToolTipText(it.businesslogic.ireport.util.I18n.getString("striked", "Striked"));
9733      jButtonAlignLeft.setToolTipText(it.businesslogic.ireport.util.I18n.getString("alignLeft", "Align left"));
9734      jButtonAlignRight.setToolTipText(it.businesslogic.ireport.util.I18n.getString("alignRight", "Align right"));
9735      jButtonAlignJustify.setToolTipText(it.businesslogic.ireport.util.I18n.getString("alignJustify", "Align justify"));
9736      jButtonAlignCenter.setToolTipText(it.businesslogic.ireport.util.I18n.getString("alignCenter", "Align center"));
9737      jButtonAlignTop.setToolTipText(it.businesslogic.ireport.util.I18n.getString("alignTop", "Align top"));
9738      jButtonAlignMiddle.setToolTipText(it.businesslogic.ireport.util.I18n.getString("alignVerticalAxis", "Align on vertical axis"));
9739      jButtonAlignBottom.setToolTipText(it.businesslogic.ireport.util.I18n.getString("alignBottom", "Align bottom"));
9740      jMenuItemPrint.setText(it.businesslogic.ireport.util.I18n.getString("printDesign", "Print design"));
9741      jMenuToolBars.setText(it.businesslogic.ireport.util.I18n.getString("toolBars", "Toolbars"));
9742      //Modification end of Felix Firgau on Feb 06th 2006
9743

9744      //Added by Felix Firgau on Feb 07th 2006
9745
jCheckBoxMenuItemElementsFormatting.setText(it.businesslogic.ireport.util.I18n.getString("elementsFormating", "Elements formating"));
9746      jCheckBoxMenuItemTextFormatting.setText(it.businesslogic.ireport.util.I18n.getString("textFormating", "Text formating"));
9747      //Modification end of Felix Firgau on Feb 07th 2006
9748

9749      //Added by Felix Firgau on Feb 8th 2006
9750
jMenuItemImage.setText(it.businesslogic.ireport.util.I18n.getString("image", "Image"));
9751      jMenuItemExportOptions.setText(it.businesslogic.ireport.util.I18n.getString("exportOptions", "Export options"));
9752      //End
9753

9754      //Added by Felix Firgau on Feb 9th 2006
9755
jMenuItemOrganize.setText(it.businesslogic.ireport.util.I18n.getString("organizeAsTable", "Organize as table"));
9756      jMenuItemKill.setText(it.businesslogic.ireport.util.I18n.getString("killThread", "Kill thread"));
9757      //End
9758

9759      //Added by Felix Firgau on Feb 14th 2006
9760
jMenuItemRightSide.setText(it.businesslogic.ireport.util.I18n.getString("showHideRightSide", "Show/hide right side"));
9761      jMenuItemStyles.setText(it.businesslogic.ireport.util.I18n.getString("styles", "Styles"));
9762      //End
9763

9764        jMenuFile.setText(it.businesslogic.ireport.util.I18n.getString("file","File"));
9765        jMenuItemNewDocument.setText(it.businesslogic.ireport.util.I18n.getString("newDocument","New document"));
9766        jMenuItemWizard.setText(it.businesslogic.ireport.util.I18n.getString("reportWizard","Report Wizard"));
9767        jMenuItemOpen.setText(it.businesslogic.ireport.util.I18n.getString("open","Open"));
9768        //jMenuItemQOpen.setText(it.businesslogic.ireport.util.I18n.getString("quickOpen","Quick open"));
9769
jMenuItemClose.setText(it.businesslogic.ireport.util.I18n.getString("close","Close"));
9770        jMenuItemCloseAll.setText(it.businesslogic.ireport.util.I18n.getString("closeAll","Close all"));
9771        jMenuItemCloseAllExceptThis.setText(it.businesslogic.ireport.util.I18n.getString("closeAllExceptThis","Close all except this"));
9772        jMenuItemRevertToSaved.setText(it.businesslogic.ireport.util.I18n.getString("revertToSaved","Revert to saved"));
9773        jMenuItemCloseFromList.setText(it.businesslogic.ireport.util.I18n.getString("close","Close"));
9774        jMenuItemCloseAllFromList.setText(it.businesslogic.ireport.util.I18n.getString("closeAll","Close all"));
9775        jMenuItemCloseAllExceptThisFromList.setText(it.businesslogic.ireport.util.I18n.getString("closeAllExceptThis","Close all except this"));
9776        jMenuItemRevertToSavedFromList.setText(it.businesslogic.ireport.util.I18n.getString("revertToSaved","Revert to saved"));
9777        jMenuItemSaveFromList.setText(it.businesslogic.ireport.util.I18n.getString("save","Save"));
9778        jMenuItemSaveAsFromList.setText(it.businesslogic.ireport.util.I18n.getString("saveAs","Save as..."));
9779        jMenuItemSaveAllFromList.setText(it.businesslogic.ireport.util.I18n.getString("saveAll","Save all"));
9780        jMenuItemSave.setText(it.businesslogic.ireport.util.I18n.getString("save","Save"));
9781        jMenuItemSaveAs.setText(it.businesslogic.ireport.util.I18n.getString("saveAs","Save as..."));
9782        jMenuItemSaveAll.setText(it.businesslogic.ireport.util.I18n.getString("saveAll","Save all"));
9783        jMenuRecentFiles.setText(it.businesslogic.ireport.util.I18n.getString("recentFiles","Recent files"));
9784        //jMenuRecentProjects.setText(it.businesslogic.ireport.util.I18n.getString("recentProjects","Recent projects"));
9785
//jMenuItemFavorites.setText(it.businesslogic.ireport.util.I18n.getString("favoriteFiles","Favorites files"));
9786
jMenuItemQuit.setText(it.businesslogic.ireport.util.I18n.getString("quit","Quit"));
9787        jMenuEdit.setText(it.businesslogic.ireport.util.I18n.getString("edit","Edit"));
9788        jMenuItemUndo.setText(it.businesslogic.ireport.util.I18n.getString("undo","Undo"));
9789        jMenuItemRedo.setText(it.businesslogic.ireport.util.I18n.getString("redo","Redo"));
9790        jMenuItemCut.setText(it.businesslogic.ireport.util.I18n.getString("cut","Cut"));
9791        jMenuItemCopy.setText(it.businesslogic.ireport.util.I18n.getString("copy","Copy"));
9792        jMenuItemPaste.setText(it.businesslogic.ireport.util.I18n.getString("paste","Paste"));
9793        jMenuItemDelete.setText(it.businesslogic.ireport.util.I18n.getString("delete","Delete"));
9794        jCheckBoxMenuItemEMM.setText(it.businesslogic.ireport.util.I18n.getString("disableElementsMouseMove","Disable elements mouse move"));
9795        jCheckBoxMenuItemReportVirtualizer.setText(it.businesslogic.ireport.util.I18n.getString("useReportVirtualizer","Use Report Virtualizer"));
9796        jCheckBoxMenuItemIgnorePagination.setText(it.businesslogic.ireport.util.I18n.getString("ignorePagination","Ignore pagination"));
9797        jCheckBoxMenuItemSnapToGrid.setText(it.businesslogic.ireport.util.I18n.getString("snapToGrid","Snap to grid"));
9798        jMenuAdd.setText(it.businesslogic.ireport.util.I18n.getString("insertElement","Insert element"));
9799        jMenuItemLine.setText(it.businesslogic.ireport.util.I18n.getString("line","Line"));
9800        jMenuItemRectangle.setText(it.businesslogic.ireport.util.I18n.getString("rectangle","Rectangle"));
9801        jMenuItemRoundRectangle.setText(it.businesslogic.ireport.util.I18n.getString("roundedRectangle","Rounded rectangle"));
9802        jMenuItemEllipse.setText(it.businesslogic.ireport.util.I18n.getString("ellipse","Ellipse"));
9803        jMenuItemStaticText.setText(it.businesslogic.ireport.util.I18n.getString("staticText","Static text"));
9804        jMenuItemTextField.setText(it.businesslogic.ireport.util.I18n.getString("textField","Textfield"));
9805        jMenuItemSubreport.setText(it.businesslogic.ireport.util.I18n.getString("subreport","Subreport"));
9806        jMenuItemXMLSource.setText(it.businesslogic.ireport.util.I18n.getString("editXmlSource","Edit XML source"));
9807        jMenuView.setText(it.businesslogic.ireport.util.I18n.getString("view","View"));
9808        jCheckBoxMenuItemGrid.setText(it.businesslogic.ireport.util.I18n.getString("showGrid","Show grid"));
9809        jCheckBoxMenuItemOutput.setText(it.businesslogic.ireport.util.I18n.getString("showOutputWindow","Show output window"));
9810        //jCheckBoxMenuItemExplorer.setText(it.businesslogic.ireport.util.I18n.getString("showProjectBrowser","Show project browser"));
9811
jMenuItemReportProperties.setText(it.businesslogic.ireport.util.I18n.getString("reportProperties","Report properties"));
9812        jMenuItemProperties.setText(it.businesslogic.ireport.util.I18n.getString("customProperties","Custom properties"));
9813        jMenuItemReportQuery.setText(it.businesslogic.ireport.util.I18n.getString("reportQuery","Report query"));
9814        jMenuItemFields.setText(it.businesslogic.ireport.util.I18n.getString("reportFields","Report fields"));
9815        jMenuItemVariables.setText(it.businesslogic.ireport.util.I18n.getString("reportVariables","Report variables"));
9816        jMenuItemParameters.setText(it.businesslogic.ireport.util.I18n.getString("reportParameters","Report parameters"));
9817        jMenuItemFonts.setText(it.businesslogic.ireport.util.I18n.getString("reportFonts","Report fonts"));
9818        jMenuItemBands.setText(it.businesslogic.ireport.util.I18n.getString("bands","Bands"));
9819        jMenuItemGroups.setText(it.businesslogic.ireport.util.I18n.getString("reportGroups","Report groups"));
9820        jMenuItemElementProperties.setText(it.businesslogic.ireport.util.I18n.getString("elementProperties","Element properties"));
9821        //jMenuItemElementsBrowser.setText(it.businesslogic.ireport.util.I18n.getString("elementsBrowser","Elements browser"));
9822
jMenuItemScriptletEditor.setText(it.businesslogic.ireport.util.I18n.getString("scriptletEditor","Scriptlet editor"));
9823        //jMenuItemReportSeries.setText(it.businesslogic.ireport.util.I18n.getString("reportSeries","Report series"));
9824
jMenuItemReportImports.setText(it.businesslogic.ireport.util.I18n.getString("reportImports","Report imports"));
9825        //jMenuSearch.setText(it.businesslogic.ireport.util.I18n.getString("search","Search"));
9826
//jMenuItemFindNext.setText(it.businesslogic.ireport.util.I18n.getString("findNext","Find next"));
9827
//jMenuItemFindPrev.setText(it.businesslogic.ireport.util.I18n.getString("findPrevious","Find Prev"));
9828
//jMenuItemReplace.setText(it.businesslogic.ireport.util.I18n.getString("replace","Replace"));
9829
//jMenuProjects.setText(it.businesslogic.ireport.util.I18n.getString("project","Project"));
9830
//jMenuItemNewProject.setText(it.businesslogic.ireport.util.I18n.getString("newProject","New project"));
9831
//jMenuItemOpenProject.setText(it.businesslogic.ireport.util.I18n.getString("openProject","Open project"));
9832
//jMenuItemCloseProject.setText(it.businesslogic.ireport.util.I18n.getString("closeProject","Close project"));
9833
//jMenuItemAddFileToProject.setText(it.businesslogic.ireport.util.I18n.getString("addReportToProject","Add report to project..."));
9834
//jMenuItemProjectOptions.setText(it.businesslogic.ireport.util.I18n.getString("projectOptions","Project options..."));
9835
jMenuBuild.setText(it.businesslogic.ireport.util.I18n.getString("build","Build"));
9836        jMenuItemCompile.setText(it.businesslogic.ireport.util.I18n.getString("compile","Compile"));
9837        //jMenuItemCompileAll.setText(it.businesslogic.ireport.util.I18n.getString("compileAll","Compile All"));
9838
jMenuItemExecute.setText(it.businesslogic.ireport.util.I18n.getString("executeReport","Execute report"));
9839        jMenuItemExecuteDB.setText(it.businesslogic.ireport.util.I18n.getString("executeReportUsingActiveConnection","Execute report (using active conn.) "));
9840        jRadioButtonMenuItemPreviewPDF.setText(it.businesslogic.ireport.util.I18n.getString("pdfPreview","PDF preview"));
9841        jRadioButtonMenuItemPreviewHTML.setText(it.businesslogic.ireport.util.I18n.getString("htmlPreview","HTML preview"));
9842        jRadioButtonMenuItemPreviewJAVA.setText(it.businesslogic.ireport.util.I18n.getString("java2DPreview","JAVA 2D preview"));
9843        jRadioButtonMenuItemPreviewXLS.setText(it.businesslogic.ireport.util.I18n.getString("excelPreview","Excel preview"));
9844        jRadioButtonMenuItemPreviewXLS.setText(it.businesslogic.ireport.util.I18n.getString("excelPreview2","Excel preview (using JExcelApi)"));
9845        jRadioButtonMenuItemPreviewCSV.setText(it.businesslogic.ireport.util.I18n.getString("csvPreview","CSV preview"));
9846        jRadioButtonMenuItemPreviewTXTJR.setText(it.businesslogic.ireport.util.I18n.getString("txtPreview","Text preview (JasperReports)"));
9847        jRadioButtonMenuItemPreviewRTF.setText(it.businesslogic.ireport.util.I18n.getString("rtfPreview","RTF preview"));
9848        jRadioButtonMenuItemPreviewTXT.setText(it.businesslogic.ireport.util.I18n.getString("textPreview","Text preview (Experimental)"));
9849        jRadioButtonMenuItemPreviewInternalViewer.setText(it.businesslogic.ireport.util.I18n.getString("jrViewerPreview","JRViewer preview"));
9850        jMenuItemActiveConnection.setText(it.businesslogic.ireport.util.I18n.getString("setActiveConnection","Set active connection"));
9851        jMenuItemActiveConnection1.setText(it.businesslogic.ireport.util.I18n.getString("setActiveConnection","Set active connection"));
9852        updateJMenuItemReportLocaleText();
9853        updateJMenuItemReportMaxRecords();
9854        updateJMenuItemReportTimeZone();
9855        jMenuItemActiveConnection.setToolTipText(it.businesslogic.ireport.util.I18n.getString("setTheConnection","Set the connection that must be used to fill this report"));
9856        jMenuFormat.setText(it.businesslogic.ireport.util.I18n.getString("format","Format"));
9857        jMenuAlign.setText(it.businesslogic.ireport.util.I18n.getString("align", "Align..."));
9858        jMenuItemAlignLeft.setText(it.businesslogic.ireport.util.I18n.getString("alignLeft", "Align left"));
9859        jMenuItemAlignRight.setText(it.businesslogic.ireport.util.I18n.getString("alignRight", "Align right"));
9860        jMenuItemAlignTop.setText(it.businesslogic.ireport.util.I18n.getString("alignTop", "Align top"));
9861        jMenuItemAlignBottom.setText(it.businesslogic.ireport.util.I18n.getString("alignBottom", "Align bottom"));
9862        jMenuItemAlignVerticalAxis.setText(it.businesslogic.ireport.util.I18n.getString("alignVerticalAxis", "Align vertical axis"));
9863        jMenuItemAlignHorizontalAxis.setText(it.businesslogic.ireport.util.I18n.getString("alignHorizontalAxis", "Align horizontal axis"));
9864        jMenuItemAlignToBandTop.setText(it.businesslogic.ireport.util.I18n.getString("alignToBandTop", "Align to band top"));
9865        jMenuItemAlignToBandBottom.setText(it.businesslogic.ireport.util.I18n.getString("alignToBandBottom", "Align to band bottom"));
9866        jMenuSize.setText(it.businesslogic.ireport.util.I18n.getString("size", "Size..."));
9867        jMenuItemSameWidth.setText(it.businesslogic.ireport.util.I18n.getString("sameWidth", "Same width"));
9868        jMenuItemSameWidthMax.setText(it.businesslogic.ireport.util.I18n.getString("sameWidthMax", "Same width (max)"));
9869        jMenuItemSameWidthMin.setText(it.businesslogic.ireport.util.I18n.getString("sameWidthMin", "Same width (min)"));
9870        jMenuItemSameHeight.setText(it.businesslogic.ireport.util.I18n.getString("sameHeight", "Same height"));
9871        jMenuItemSameHeightMin.setText(it.businesslogic.ireport.util.I18n.getString("sameHeightMin", "Same height (min)"));
9872        jMenuItemSameHeightMax.setText(it.businesslogic.ireport.util.I18n.getString("sameHeightMax", "Same height (max)"));
9873        jMenuItemSameSize.setText(it.businesslogic.ireport.util.I18n.getString("sameSize", "Same size"));
9874        jMenuPosition.setText(it.businesslogic.ireport.util.I18n.getString("position", "Position..."));
9875        jMenuItemCenterH.setText(it.businesslogic.ireport.util.I18n.getString("centerHorizontallyBandBased", "Center horizontally (band/cell based)"));
9876        jMenuItemCenterV.setText(it.businesslogic.ireport.util.I18n.getString("centerVerticallyBandBased", "Center vertically (band/cell based)"));
9877        jMenuItemCenterInBand.setText(it.businesslogic.ireport.util.I18n.getString("centerInBand", "Center in band/cell"));
9878        jMenuItemCenterBackground.setText(it.businesslogic.ireport.util.I18n.getString("centerInBackground", "Center in background"));
9879        jMenuItemJoinLeft.setText(it.businesslogic.ireport.util.I18n.getString("joinSidesLeft", "Join sides left"));
9880        jMenuItemJoinRight.setText(it.businesslogic.ireport.util.I18n.getString("joinSidesRight", "Join sides right"));
9881        jMenuHSpacing.setText(it.businesslogic.ireport.util.I18n.getString("horizontalSpacing", "Horizontal spacing..."));
9882        jMenuItemHSMakeEqual.setText(it.businesslogic.ireport.util.I18n.getString("makeEqual", "Make equal"));
9883        jMenuItemHSIncrease.setText(it.businesslogic.ireport.util.I18n.getString("increase", "Increase"));
9884        jMenuItemHSDecrease.setText(it.businesslogic.ireport.util.I18n.getString("decrease", "Decrease"));
9885        jMenuItemHSRemove.setText(it.businesslogic.ireport.util.I18n.getString("remove", "Remove"));
9886        jMenuVSpacing.setText(it.businesslogic.ireport.util.I18n.getString("verticalSpacing", "Vertical spacing"));
9887        jMenuItemVSMakeEqual.setText(it.businesslogic.ireport.util.I18n.getString("makeEqual", "Make equal"));
9888        jMenuItemVSIncrease.setText(it.businesslogic.ireport.util.I18n.getString("increase", "Increase"));
9889        jMenuItemVSDecrease.setText(it.businesslogic.ireport.util.I18n.getString("decrease", "Decrease"));
9890        jMenuItemVSRemove.setText(it.businesslogic.ireport.util.I18n.getString("remove", "Remove"));
9891        jMenuItemBringToFront.setText(it.businesslogic.ireport.util.I18n.getString("bringToFront", "Bring to front"));
9892        jMenuItemSendToBack.setText(it.businesslogic.ireport.util.I18n.getString("sendToBack", "Send to back"));
9893        jMenuDatabase.setText(it.businesslogic.ireport.util.I18n.getString("datasourceMenu", "Data"));
9894        jMenuItemConnections.setText(it.businesslogic.ireport.util.I18n.getString("connectionsDatasources", "Connections / Datasources"));
9895        jMenuItemReportQuery2.setText(it.businesslogic.ireport.util.I18n.getString("reportQuery", "Report query"));
9896        jMenuTools.setText(it.businesslogic.ireport.util.I18n.getString("optionsMenu", "Options"));
9897        jMenuItemOptions.setText(it.businesslogic.ireport.util.I18n.getString("options", "Settings..."));
9898        jMenuItemCompatibility.setText(it.businesslogic.ireport.util.I18n.getString("compatibility", "Compatibility..."));
9899        jMenuWindow.setText(it.businesslogic.ireport.util.I18n.getString("window", "Window"));
9900        jMenuItemCascade.setText(it.businesslogic.ireport.util.I18n.getString("cascade", "Cascade"));
9901        jMenuItemTileHorizontal.setText(it.businesslogic.ireport.util.I18n.getString("tileHorizontal", "Tile horizontal"));
9902        jMenuItemTileVertical.setText(it.businesslogic.ireport.util.I18n.getString("tileVertical", "Tile vertical"));
9903        jMenuItemtileAnodine.setText(it.businesslogic.ireport.util.I18n.getString("tileAnodine", "Tile anodine"));
9904        jMenuItemNextWin.setText(it.businesslogic.ireport.util.I18n.getString("nextWindow", "Next Window"));
9905        jMenuItemPrevWin.setText(it.businesslogic.ireport.util.I18n.getString("previousWindow", "Previous Window"));
9906        jMenuHelp.setText(it.businesslogic.ireport.util.I18n.getString("help", "Help"));
9907        jMenuItemHelp.setText(it.businesslogic.ireport.util.I18n.getString("help", "Help"));
9908        jMenuItemAbout.setText(it.businesslogic.ireport.util.I18n.getString("aboutiReport", "About iReport..."));
9909        //jMenuItemFind.setText(it.businesslogic.ireport.util.I18n.getString("find", "Find..."));
9910
jMenuItemPluginConfig.setText(it.businesslogic.ireport.util.I18n.getString("configurePlugins", "Configure plugins"));
9911        jMenuPlugins.setText(it.businesslogic.ireport.util.I18n.getString("plugins", "Plugins"));
9912        jMenuInternationalization.setText(it.businesslogic.ireport.util.I18n.getString("internationalization", "Internationalization"));
9913        //jMenuInternationalizationWizard.setText(it.businesslogic.ireport.util.I18n.getString("internationalizationWizard", "Internationalization Wizard"));
9914
jMenuLocaleFiles.setText(it.businesslogic.ireport.util.I18n.getString("internationalizationFiles", "Locale files"));
9915        jMenuItemRemoveMargins.setText(it.businesslogic.ireport.util.I18n.getString("removeMargins", "Remove margins"));
9916        jMenuItemClasspath.setText(it.businesslogic.ireport.util.I18n.getString("classPath", "Classpath"));
9917        jMenuItemAddGroup.setText(it.businesslogic.ireport.util.I18n.getString("newReportGroupWizard","New report group wizard"));
9918        jMenuItemFontspath.setText(it.businesslogic.ireport.util.I18n.getString("pathToFonts", "Fonts path"));
9919        jMenuItemExpressions.setText(it.businesslogic.ireport.util.I18n.getString("Formulas", "Formulas"));
9920        jMenuItemReloadFonts.setText(it.businesslogic.ireport.util.I18n.getString("reloadFonts", "Reload fonts"));
9921        jMenuItemPluginConfig.setText(it.businesslogic.ireport.util.I18n.getString("configurePlugins", "Configure plugins"));
9922
9923        
9924        
9925        
9926        viewFiles.setTitle(it.businesslogic.ireport.util.I18n.getString("files", "Files"), true);
9927        viewDocumentStructure.setTitle(it.businesslogic.ireport.util.I18n.getString("documentStructure", "Document structure"), true);
9928        viewPropertySheet.setTitle(it.businesslogic.ireport.util.I18n.getString("elementProperties","Element properties"), true);
9929        viewThreads.setTitle(it.businesslogic.ireport.util.I18n.getString("threads","Threads"), true);
9930        viewLibrary.setTitle(it.businesslogic.ireport.util.I18n.getString("library","Library"), true);
9931        logPaneView.setTitle(it.businesslogic.ireport.util.I18n.getString("output","Output console"), true);
9932        stylesPanleView.setTitle(it.businesslogic.ireport.util.I18n.getString("stylesLibrary","Styles Library"), true);
9933        crosstabMeasuresPanelView.setTitle(it.businesslogic.ireport.util.I18n.getString("crosstabObjects","Crosstab objects"), true);
9934        crosstabStructureView.setTitle(it.businesslogic.ireport.util.I18n.getString("crosstabStructure","Crosstab structure"), true);
9935
9936        viewFiles.updateUI();
9937        viewDocumentStructure.updateUI();
9938        viewPropertySheet.updateUI();
9939        viewThreads.updateUI();
9940        viewLibrary.updateUI();
9941        logPaneView.updateUI();
9942        stylesPanleView.updateUI();
9943        crosstabMeasuresPanelView.updateUI();
9944        crosstabStructureView.updateUI();
9945        
9946        ((DefaultMutableTreeNode)this.jTreeFiles.getModel().getRoot()).setUserObject( it.businesslogic.ireport.util.I18n.getString("openedFiles", "Opened files"));
9947        
9948        //if (libraryPanel != null && jTabbedPaneExplorer.indexOfComponent(libraryPanel) >= 0)
9949
// jTabbedPaneExplorer.setTitleAt(jTabbedPaneExplorer.indexOfComponent(libraryPanel), it.businesslogic.ireport.util.I18n.getString("gui.library", "Library"));
9950
}
9951
9952
9953    /** Getter for property eventsForm.
9954     * @return Value of property eventsForm.
9955     *
9956     */

9957    public it.businesslogic.ireport.gui.EventsForm getEventsForm() {
9958        return eventsForm;
9959    }
9960
9961    /** Setter for property eventsForm.
9962     * @param eventsForm New value of property eventsForm.
9963     *
9964     */

9965    public void setEventsForm(it.businesslogic.ireport.gui.EventsForm eventsForm) {
9966        this.eventsForm = eventsForm;
9967    }
9968
9969
9970
9971    public void loadPlugins(String JavaDoc plugins_dir) {
9972        // Adding default properties...
9973

9974        ReportClassLoader rcl = this.getReportClassLoader();
9975        //rcl.rescanLibDirectory();
9976

9977        java.util.Vector JavaDoc plugin_files_v = new java.util.Vector JavaDoc();
9978        File plugDir = null;
9979        try {
9980            plugDir = new File(plugins_dir);
9981        } catch (Exception JavaDoc ex)
9982        {}
9983        if (plugDir == null || !plugDir.exists() || plugDir.isFile()) {
9984            try {
9985                this.logOnConsole(I18n.getFormattedString("messages.errorScanningPluginDir","Error scanning iReport plugin directory: {0}\n", new Object JavaDoc[]{""+plugins_dir} ));
9986               
9987            } catch (Exception JavaDoc exsx)
9988            {}
9989
9990        } else
9991        {
9992
9993        // Loading all xml files....
9994

9995            File plugins_files[] = plugDir.listFiles();
9996
9997            for (int i=0; i<plugins_files.length; ++i)
9998            {
9999                if (!plugins_files[i].getName().endsWith(".xml")) continue;
0000                plugin_files_v.add(plugins_files[i]);
0001            }
0002    }
0003
0004        try {
0005
0006            //Enumeration enum_pl = this.getClass().getClassLoader().getResources("ireport/plugin.xml");
0007
//logOnConsole("Looking into: " + "\n");
0008
//for (int i=0; i< rcl.getCachedItems().size(); ++i)
0009
//{
0010
// logOnConsole(rcl.getCachedItems().get(i)+ "\n");
0011
//}
0012

0013            Enumeration enum_pl = rcl.getResources("ireport/plugin.xml");
0014
0015
0016        while (enum_pl.hasMoreElements())
0017        {
0018            Object JavaDoc oobj = enum_pl.nextElement();
0019            if (!plugin_files_v.contains(oobj))
0020            {
0021                plugin_files_v.add(oobj);
0022            }
0023        }
0024
0025
0026        } catch (Exception JavaDoc ex) {
0027            this.logOnConsole(I18n.getString("messages.errorLookingForPlugins","Error searching ireport/plugin.xml resources\n"));
0028        }
0029
0030        for (int i=0; i<plugin_files_v.size(); ++i) {
0031
0032            Object JavaDoc source = plugin_files_v.elementAt(i);
0033            // Create a Xerces DOM Parser
0034
DOMParser parser = new DOMParser();
0035            // Parse the Document
0036
// and traverse the DOM
0037
try {
0038
0039                parser.setEntityResolver( new org.xml.sax.EntityResolver JavaDoc() {
0040                    /* Code by Teodor Danciu */
0041                    public org.xml.sax.InputSource JavaDoc resolveEntity(
0042                    String JavaDoc publicId,
0043                    String JavaDoc systemId
0044                    ) throws SAXException JavaDoc//, java.io.IOException
0045
{
0046                        org.xml.sax.InputSource JavaDoc inputSource = null;
0047
0048                        if (systemId != null) {
0049                            String JavaDoc dtd = null;
0050
0051                            if ( systemId.equals("http://ireport.sourceforge.net/dtds/iReportPlugin.dtd") ) {
0052                                dtd = "it/businesslogic/ireport/dtds/iReportPlugin.dtd";
0053                            } else {
0054                                return new org.xml.sax.InputSource JavaDoc(systemId);
0055                            }
0056
0057
0058                            ClassLoader JavaDoc classLoader = this.getClass().getClassLoader();
0059
0060                            java.net.URL JavaDoc url = null;
0061
0062
0063                            if (classLoader != null) {
0064                                url = classLoader.getResource(dtd);
0065                            }
0066                            if (url == null) {
0067                                classLoader = this.getClass().getClassLoader();
0068                            }
0069
0070                            java.io.InputStream JavaDoc is = classLoader.getResourceAsStream(dtd);
0071                            if (is != null) {
0072                                java.io.InputStreamReader JavaDoc isr = new java.io.InputStreamReader JavaDoc(is);
0073                                inputSource = new org.xml.sax.InputSource JavaDoc(isr);
0074                            }
0075
0076                        }
0077
0078                        return inputSource;
0079                    }
0080                });
0081                /* End Code by Teodor Danciu */
0082                InputStream input_source = null;
0083                if ( source instanceof java.io.File JavaDoc )
0084                {
0085                    input_source = new FileInputStream((java.io.File JavaDoc)source);
0086
0087                } else if ( source instanceof java.net.URL JavaDoc){
0088
0089                    input_source = ((java.net.URL JavaDoc)source).openStream();
0090
0091                }
0092
0093                parser.parse(new org.xml.sax.InputSource JavaDoc( input_source ));
0094                Document JavaDoc document = parser.getDocument();
0095
0096                //System.out.println("traverse");
0097
Node JavaDoc node = document.getDocumentElement();
0098
0099                PluginEntry pe = new PluginEntry();
0100                pe.setMainFrame( this );
0101
0102                if (node.getNodeType() == Node.ELEMENT_NODE && node.getNodeName().equals("iReportPlugin")) {
0103                    //System.out.println("iReportProperties");
0104
// Get childs....
0105
NamedNodeMap JavaDoc nnm_plugin = node.getAttributes();
0106                    if ( nnm_plugin.getNamedItem("name") != null) pe.setName(nnm_plugin.getNamedItem("name").getNodeValue());
0107                    if ( nnm_plugin.getNamedItem("class") != null) pe.setClassName( nnm_plugin.getNamedItem("class").getNodeValue() );
0108                    if ( nnm_plugin.getNamedItem("loadOnStartup") != null) pe.setLoadOnStartup( Misc.nvl(nnm_plugin.getNamedItem("loadOnStartup").getNodeValue().trim(),"false").toLowerCase().equals("true") );
0109                    if ( nnm_plugin.getNamedItem("hide") != null) pe.setHide( Misc.nvl(nnm_plugin.getNamedItem("hide").getNodeValue().trim(),"false").toLowerCase().equals("true") );
0110                    if ( nnm_plugin.getNamedItem("configurable") != null) pe.setConfigurable( Misc.nvl(nnm_plugin.getNamedItem("configurable").getNodeValue().trim(),"false").toLowerCase().equals("true") );
0111
0112                    NodeList JavaDoc children = node.getChildNodes();
0113                    if (children != null) {
0114                        for (int k=0; k< children.getLength(); k++) {
0115                            Node JavaDoc nodeChild = (Node JavaDoc)children.item(k);
0116                            if (nodeChild.getNodeType() == Node.ELEMENT_NODE && nodeChild.getNodeName().equals("IconFile")) {
0117
0118                                // Take the CDATA...
0119
// Load icon...
0120
String JavaDoc iconName = readPCDATA(nodeChild).trim();
0121                                try {
0122                                    pe.setIcon( new javax.swing.ImageIcon JavaDoc(getReportClassLoader().getResource(iconName) ));
0123                                } catch (Exception JavaDoc ex) { ex.printStackTrace(); }
0124                            }
0125                            else if (nodeChild.getNodeType() == Node.ELEMENT_NODE && nodeChild.getNodeName().equals("Description")) {
0126                                String JavaDoc description = readPCDATA(nodeChild).trim();
0127                                pe.setDescription( description );
0128                            }
0129                        }
0130                    }
0131                }
0132
0133
0134                if (!pe.isHide()) {
0135                    javax.swing.JMenuItem JavaDoc pluginItem = new javax.swing.JMenuItem JavaDoc();
0136                    pluginItem.setText( pe.getName() );
0137                    if (pe.getIcon() != null) {
0138                        pluginItem.setIcon( pe.getIcon() );
0139                    }
0140
0141                    pluginEntries.put( pluginItem, pe );
0142
0143                    pluginItem.addActionListener( new java.awt.event.ActionListener JavaDoc() {
0144                        public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
0145                            jMenuItemPluginActionPerformed(evt);
0146                        }
0147
0148                    });
0149
0150                    jMenuPlugins.add( pluginItem );
0151                }
0152
0153                if (pe.isLoadOnStartup()) {
0154
0155                    pe.getPlugin().call();
0156                }
0157
0158            } catch (SAXException JavaDoc e) {
0159                System.err.println(e);
0160            } catch (java.io.IOException JavaDoc e) {
0161                System.err.println(e);
0162            }
0163
0164        } // End cycle on iReport plugin files...
0165
}
0166
0167
0168    private void jMenuItemPluginActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
0169
0170        if (this.pluginEntries.containsKey( evt.getSource() ) ) {
0171            PluginEntry pe = (PluginEntry)this.pluginEntries.get( evt.getSource() );
0172            pe.getPlugin().call();
0173        }
0174
0175    }
0176
0177    /** Getter for property pluginConfigurationDialog.
0178     * @return Value of property pluginConfigurationDialog.
0179     *
0180     */

0181    public it.businesslogic.ireport.gui.PluginConfigurationDialog getPluginConfigurationDialog() {
0182
0183        if (pluginConfigurationDialog == null) {
0184            pluginConfigurationDialog = new PluginConfigurationDialog(this);
0185            pluginConfigurationDialog.setPlugins( this.getPluginEntries().values() );
0186        }
0187
0188        return pluginConfigurationDialog;
0189    }
0190
0191    /** Setter for property pluginConfigurationDialog.
0192     * @param pluginConfigurationDialog New value of property pluginConfigurationDialog.
0193     *
0194     */

0195    public void setPluginConfigurationDialog(it.businesslogic.ireport.gui.PluginConfigurationDialog pluginConfigurationDialog) {
0196        this.pluginConfigurationDialog = pluginConfigurationDialog;
0197    }
0198
0199    /** Getter for property pluginEntries.
0200     * @return Value of property pluginEntries.
0201     *
0202     */

0203    public java.util.HashMap JavaDoc getPluginEntries() {
0204        return pluginEntries;
0205    }
0206
0207    /** Setter for property pluginEntries.
0208     * @param pluginEntries New value of property pluginEntries.
0209     *
0210     */

0211    public void setPluginEntries(java.util.HashMap JavaDoc pluginEntries) {
0212        this.pluginEntries = pluginEntries;
0213    }
0214
0215    public void languageChanged(LanguageChangedEvent evt) {
0216
0217        this.applyI18n();
0218    }
0219
0220    /**
0221     * Return the active Report frame. return null if no report frame is actually activated.
0222     */

0223    public JReportFrame getActiveReportFrame() {
0224        if (jMDIDesktopPane.getSelectedFrame() != null &&
0225        jMDIDesktopPane.getSelectedFrame() instanceof JReportFrame) {
0226            return (JReportFrame)jMDIDesktopPane.getSelectedFrame();
0227        }
0228        return null;
0229    }
0230
0231    /** Getter for property reportClassLoader.
0232     * @return Value of property reportClassLoader.
0233     *
0234     */

0235    public it.businesslogic.ireport.ReportClassLoader getReportClassLoader() {
0236        if (reportClassLoader == null)
0237        {
0238           reportClassLoader = new ReportClassLoader();
0239        }
0240        reportClassLoader.rescanLibDirectory();
0241        return reportClassLoader;
0242    }
0243
0244    /** Setter for property reportClassLoader.
0245     * @param reportClassLoader New value of property reportClassLoader.
0246     *
0247     */

0248    public void setReportClassLoader(it.businesslogic.ireport.ReportClassLoader reportClassLoader) {
0249        this.reportClassLoader = reportClassLoader;
0250    }
0251
0252    /**
0253     * Getter for property activeStyleClipboard.
0254     * @return Value of property activeStyleClipboard.
0255     */

0256    public int getActiveStyleClipboard() {
0257        return activeStyleClipboard;
0258    }
0259
0260    /**
0261     * Setter for property activeStyleClipboard.
0262     * @param activeStyleClipboard New value of property activeStyleClipboard.
0263     */

0264    public void setActiveStyleClipboard(int activeStyleClipboard) {
0265        this.activeStyleClipboard = activeStyleClipboard;
0266    }
0267
0268
0269    public it.businesslogic.ireport.ReportElement getStyleClipboard() {
0270        return styleClipboards[getActiveStyleClipboard()];
0271    }
0272
0273    public void setStyleClipbardContent(it.businesslogic.ireport.ReportElement element) {
0274        styleClipboards[getActiveStyleClipboard()] = element;
0275
0276    }
0277
0278    // Hack for MacOS X suggested by Gary Nunes
0279
public java.awt.Dimension JavaDoc getMinimumSize() {
0280        return new java.awt.Dimension JavaDoc(50, 50); // arbitrary minimum size value
0281
}
0282
0283    /**
0284     * Getter for property currentZoomFactor.
0285     * @return Value of property currentZoomFactor.
0286     */

0287    public double getCurrentZoomFactor() {
0288        return currentZoomFactor;
0289    }
0290
0291    /**
0292     * Setter for property currentZoomFactor.
0293     * @param currentZoomFactor New value of property currentZoomFactor.
0294     */

0295    public void setCurrentZoomFactor(double currentZoomFactor) {
0296        this.currentZoomFactor = currentZoomFactor;
0297    }
0298
0299    public void setComboBoxZoomFactor(double zoomFactor) {
0300        this.jNumberComboBoxZoom.setValue(zoomFactor);
0301        //logOnConsole(this.jNumberComboBoxZoom.getValue() + "\n" ) ;
0302
}
0303
0304    /**
0305     * Getter for property libraryPanel.
0306     * @return Value of property libraryPanel.
0307     */

0308    public LibraryPanel getLibraryPanel() {
0309        return this.libraryPanel;
0310    }
0311
0312    /**
0313     * Setter for property libraryPanel.
0314     * @param libraryPanel New value of property libraryPanel.
0315     */

0316    public void setLibraryPanel(LibraryPanel libraryPanel) {
0317        this.libraryPanel = libraryPanel;
0318    }
0319
0320    public void clearConsole()
0321    {
0322        getLogPane().getMainLogTextArea().clearConsole();
0323    }
0324
0325    public LocaleResourceFilesDialog getLocaleFilesDialog() {
0326        return localeFilesDialog;
0327    }
0328
0329    public void setLocaleFilesDialog(LocaleResourceFilesDialog localeFilesDialog) {
0330        this.localeFilesDialog = localeFilesDialog;
0331    }
0332
0333    /**
0334     * Registers ReportListener to receive events.
0335     * @param listener The listener to register.
0336     */

0337    public synchronized void addReportListener(it.businesslogic.ireport.gui.event.ReportListener listener) {
0338
0339        if (listenerList == null ) {
0340            listenerList = new javax.swing.event.EventListenerList JavaDoc();
0341        }
0342        listenerList.add (it.businesslogic.ireport.gui.event.ReportListener.class, listener);
0343    }
0344
0345    /**
0346     * Removes ReportListener from the list of listeners.
0347     * @param listener The listener to remove.
0348     */

0349    public synchronized void removeReportListener(it.businesslogic.ireport.gui.event.ReportListener listener) {
0350
0351        listenerList.remove (it.businesslogic.ireport.gui.event.ReportListener.class, listener);
0352    }
0353
0354    /**
0355     * Notifies all registered listeners about the event.
0356     *
0357     * @param event The event to be fired
0358     */

0359    private void fireReportListenerReportElementsSelectionChanged(it.businesslogic.ireport.gui.event.ReportElementsSelectionEvent event) {
0360
0361        if (listenerList == null) return;
0362        Object JavaDoc[] listeners = listenerList.getListenerList ();
0363        for (int i = listeners.length-2; i>=0; i-=2) {
0364            if (listeners[i]==it.businesslogic.ireport.gui.event.ReportListener.class) {
0365                ((it.businesslogic.ireport.gui.event.ReportListener)listeners[i+1]).reportElementsSelectionChanged (event);
0366            }
0367        }
0368    }
0369
0370    /**
0371     * Notifies all registered listeners about the event.
0372     *
0373     * @param event The event to be fired
0374     */

0375    private void fireReportListenerReportElementsChanged(it.businesslogic.ireport.gui.event.ReportElementChangedEvent event) {
0376
0377        if (listenerList == null) return;
0378        Object JavaDoc[] listeners = listenerList.getListenerList ();
0379        for (int i = listeners.length-2; i>=0; i-=2) {
0380            if (listeners[i]==it.businesslogic.ireport.gui.event.ReportListener.class) {
0381                ((it.businesslogic.ireport.gui.event.ReportListener)listeners[i+1]).reportElementsChanged (event);
0382            }
0383        }
0384    }
0385
0386    /**
0387     * Notifies all registered listeners about the event.
0388     *
0389     * @param event The event to be fired
0390     */

0391    private void fireReportListenerReportBandChanged(it.businesslogic.ireport.gui.event.ReportBandChangedEvent event) {
0392
0393        if (listenerList == null) return;
0394        Object JavaDoc[] listeners = listenerList.getListenerList ();
0395        for (int i = listeners.length-2; i>=0; i-=2) {
0396            if (listeners[i]==it.businesslogic.ireport.gui.event.ReportListener.class) {
0397                ((it.businesslogic.ireport.gui.event.ReportListener)listeners[i+1]).reportBandChanged (event);
0398            }
0399        }
0400    }
0401
0402    public Vector getClasspath() {
0403
0404        if (classpath == null || classpath.size() == 0)
0405        {
0406            classpath = new Vector();
0407
0408            // Each line is a path/jar...
0409
StringTokenizer st = new StringTokenizer( getProperties().getProperty("classpath",""),"\n");
0410            while (st.hasMoreTokens())
0411            {
0412                String JavaDoc token = st.nextToken();
0413                if (token != null && token.trim().length() > 0)
0414                {
0415                    classpath.addElement( token.trim() );
0416                }
0417            }
0418
0419        }
0420        return classpath;
0421    }
0422
0423    public void setClasspath(Vector classpath) {
0424        this.classpath = classpath;
0425        String JavaDoc cp_property = "";
0426        for (int i=0; i<classpath.size(); ++i)
0427        {
0428            cp_property += classpath.elementAt(i) +"\n";
0429        }
0430        getProperties().setProperty("classpath",cp_property);
0431    }
0432
0433
0434
0435    public Vector getFontspath() {
0436
0437        if (fontspath == null || fontspath.size() == 0)
0438        {
0439            fontspath = new Vector();
0440
0441            // Each line is a path/jar...
0442
StringTokenizer st = new StringTokenizer( getProperties().getProperty("fontspath",""),"\n");
0443            while (st.hasMoreTokens())
0444            {
0445                String JavaDoc token = st.nextToken();
0446                if (token != null && token.trim().length() > 0)
0447                {
0448                    fontspath.addElement( token.trim() );
0449                }
0450            }
0451
0452        }
0453        return fontspath;
0454    }
0455
0456    public void setFontspath(Vector fontspath) {
0457        this.fontspath = fontspath;
0458        String JavaDoc cp_property = "";
0459        for (int i=0; i<fontspath.size(); ++i)
0460        {
0461            cp_property += fontspath.elementAt(i) +"\n";
0462        }
0463        getProperties().setProperty("fontspath",cp_property);
0464    }
0465
0466    // Indicate whether Report Name must be synchronized
0467
public boolean isSynchronizeReportName()
0468    {
0469        return getProperties().getProperty("SynchronizeReportName", "").equals("true") ;
0470    }
0471
0472    public boolean isShowOptionDialogSynchronize( String JavaDoc reportName, String JavaDoc filename ) {
0473
0474        return false;
0475        /*
0476        int ret = I18nOptionPane.showOptionDialog(this,
0477                                    "gui.MainFrame.SynchronizeReportName",
0478                                    "",
0479                                    JOptionPane.YES_NO_OPTION,
0480                                    JOptionPane.WARNING_MESSAGE,
0481                                    null, new String[]{"yes", "no"},
0482                                    "no",
0483                                    "Report Name: " + reportName + "\n" + "File Name: " + filename );
0484
0485                                    return (ret==0);
0486        */

0487    }
0488
0489    public JReportFrame getSelectedJRFFromFilesTree()
0490    {
0491        TreePath path = jTreeFiles.getSelectionPath();
0492        if (path == null) return null;
0493        javax.swing.tree.TreeNode JavaDoc node = (javax.swing.tree.TreeNode JavaDoc)path.getLastPathComponent();
0494        if (node instanceof DefaultMutableTreeNode) {
0495                DefaultMutableTreeNode nodem = (DefaultMutableTreeNode)node;
0496                Object JavaDoc obj = nodem.getUserObject();
0497                if (obj != null && obj instanceof DocumentTreeEntry) {
0498                    DocumentTreeEntry dtn = (DocumentTreeEntry)obj;
0499                    return dtn.getJrf();
0500                }
0501        }
0502
0503        return null;
0504    }
0505
0506    public JMDIDesktopPane getJMDIDesktopPane() {
0507        return jMDIDesktopPane;
0508    }
0509
0510    public void updateAntialiasMode()
0511    {
0512        javax.swing.JInternalFrame JavaDoc[] frames = jMDIDesktopPane.getAllFrames();
0513        for (int i=0; i< frames.length; ++i) {
0514            if (frames[i] instanceof JReportFrame) {
0515                JReportFrame jrf = (JReportFrame)frames[i];
0516                jrf.updateAntialiasMode();
0517            }
0518        }
0519    }
0520
0521    public Vector getChartSeriesClipBoard() {
0522        return chartSeriesClipBoard;
0523    }
0524
0525    public void setChartSeriesClipBoard(Vector chartSeriesClipBoard) {
0526        this.chartSeriesClipBoard = chartSeriesClipBoard;
0527    }
0528
0529    public it.businesslogic.ireport.chart.Dataset getChartDatasetClipBoard() {
0530        return chartDatasetClipBoard;
0531    }
0532
0533    public void setChartDatasetClipBoard(it.businesslogic.ireport.chart.Dataset chartDatasetClipBoard) {
0534        this.chartDatasetClipBoard = chartDatasetClipBoard;
0535    }
0536
0537    public LogPane getLogPane() {
0538        return logPane;
0539    }
0540
0541    public void setLogPane(LogPane logPane) {
0542        this.logPane = logPane;
0543    }
0544
0545    public DocumentStructurePanel getDocumentStructurePanel() {
0546        return documentStructurePanel;
0547    }
0548
0549    public void setDocumentStructurePanel(DocumentStructurePanel documentStructurePanel) {
0550        this.documentStructurePanel = documentStructurePanel;
0551    }
0552
0553    public void styleChanged(StyleChangedEvent evt)
0554    {
0555        if (this.getActiveReportFrame() != null)
0556        {
0557            this.getActiveReportFrame().getReportPanel().repaint();
0558            this.getElementPropertiesDialog().updateSelection();
0559        }
0560    }
0561
0562    public Vector getMeasuresClipBoard() {
0563        return measuresClipBoard;
0564    }
0565
0566    public void setMeasuresClipBoard(Vector measuresClipBoard) {
0567        this.measuresClipBoard = measuresClipBoard;
0568    }
0569
0570    /**
0571     * Registers ReportFrameActivatedListener to receive events.
0572     * @param listener The listener to register.
0573     */

0574    public synchronized void addReportFrameActivatedListener(it.businesslogic.ireport.gui.event.ReportFrameActivatedListener listener) {
0575
0576        if (listenerList == null ) {
0577            listenerList = new javax.swing.event.EventListenerList JavaDoc();
0578        }
0579        listenerList.add (it.businesslogic.ireport.gui.event.ReportFrameActivatedListener.class, listener);
0580    }
0581
0582    /**
0583     * Removes ReportFrameActivatedListener from the list of listeners.
0584     * @param listener The listener to remove.
0585     */

0586    public synchronized void removeReportFrameActivatedListener(it.businesslogic.ireport.gui.event.ReportFrameActivatedListener listener) {
0587
0588        listenerList.remove (it.businesslogic.ireport.gui.event.ReportFrameActivatedListener.class, listener);
0589    }
0590
0591    /**
0592     * Notifies all registered listeners about the event.
0593     *
0594     * @param event The event to be fired
0595     */

0596    private void fireReportFrameActivatedListenerReportFrameActivated(it.businesslogic.ireport.gui.event.ReportFrameActivatedEvent event) {
0597
0598        if (listenerList == null) return;
0599        Object JavaDoc[] listeners = listenerList.getListenerList ();
0600        for (int i = listeners.length - 2; i >= 0; i -= 2) {
0601            if (listeners[i]==it.businesslogic.ireport.gui.event.ReportFrameActivatedListener.class) {
0602                ((it.businesslogic.ireport.gui.event.ReportFrameActivatedListener)listeners[i+1]).reportFrameActivated (event);
0603            }
0604        }
0605    }
0606
0607
0608    public Vector getSelectedElements()
0609    {
0610        JReportFrame newJrf = getActiveReportFrame();
0611        Vector selection = new Vector();
0612        if (newJrf != null)
0613        {
0614             if (newJrf.getSelectedCrosstabEditorPanel() == null)
0615             {
0616                selection.addAll( newJrf.getSelectedElements() );
0617             }
0618             else
0619             {
0620                selection.addAll( newJrf.getSelectedCrosstabEditorPanel().getSelectedElements() );
0621             }
0622        }
0623        return selection;
0624    }
0625
0626    /*
0627    public it.businesslogic.ireport.gui.docking.DockingContainer getDockingContainerRight() {
0628        return dockingContainerRight;
0629    }
0630
0631    public void setDockingContainerRight(it.businesslogic.ireport.gui.docking.DockingContainer dockingContainerRight) {
0632        this.dockingContainerRight = dockingContainerRight;
0633    }
0634
0635    public it.businesslogic.ireport.gui.docking.DockingContainer getDockingContainerLeft() {
0636        return dockingContainerLeft;
0637    }
0638
0639    */

0640
0641    public java.util.Vector JavaDoc getToolBarControls() {
0642        return toolBarControls;
0643    }
0644
0645    public StylesView getStylesView() {
0646        return stylesView;
0647    }
0648
0649    public void setStylesView(StylesView stylesView) {
0650        this.stylesView = stylesView;
0651    }
0652
0653    public Vector getStyleLibrarySet() {
0654        return styleLibrarySet;
0655    }
0656
0657    public void setStyleLibrarySet(Vector styleLibrarySet) {
0658        this.styleLibrarySet = styleLibrarySet;
0659    }
0660
0661    /**
0662     * Used to update dynamically the LAF
0663     */

0664    public void upadateLAF()
0665    {
0666        PlafManager.setPreferredTheme("win32");
0667        SwingUtilities.updateComponentTreeUI(MainFrame.getMainInstance());
0668        SwingUtilities.updateComponentTreeUI(getElementPropertiesDialog());
0669        SwingUtilities.updateComponentTreeUI(getBandsDialog());
0670        SwingUtilities.updateComponentTreeUI(getGroupsDialog());
0671        SwingUtilities.updateComponentTreeUI(getLocaleFilesDialog());
0672        SwingUtilities.updateComponentTreeUI(getReportQueryDialog());
0673        SwingUtilities.updateComponentTreeUI(getPluginConfigurationDialog());
0674}
0675
0676    /**
0677     * This method can be used by plugins that needs to add new custom fonts...
0678     */

0679    public void updateFontsLists()
0680    {
0681        fireFontsListChangedListenerFontsListChanged(new FontsListChangedEvent( getTtfFonts()));
0682    }
0683
0684
0685    /**
0686     * Reload the fonts list...
0687     *
0688     */

0689    public void reloadFontsLists()
0690    {
0691        FontLoaderDialog fll = new FontLoaderDialog(this, false);
0692        this.ttfFonts = FontListLoader.loadTTFFonts(fll);
0693
0694        try {
0695            SwingUtilities.invokeAndWait(new Runnable JavaDoc()
0696            {
0697               public void run()
0698               {
0699                   fireFontsListChangedListenerFontsListChanged(new FontsListChangedEvent( getTtfFonts()));
0700               }
0701            });
0702
0703        } catch (Exception JavaDoc ex)
0704        {
0705            ex.printStackTrace();
0706        }
0707    }
0708
0709    /**
0710     * Registers FontsListChangedListener to receive events.
0711     * @param listener The listener to register.
0712     */

0713    public synchronized void addFontsListChangedListener(it.businesslogic.ireport.gui.event.FontsListChangedListener listener) {
0714
0715        if (listenerList == null ) {
0716            listenerList = new javax.swing.event.EventListenerList JavaDoc();
0717        }
0718        listenerList.add (it.businesslogic.ireport.gui.event.FontsListChangedListener.class, listener);
0719    }
0720
0721    /**
0722     * Removes FontsListChangedListener from the list of listeners.
0723     * @param listener The listener to remove.
0724     */

0725    public synchronized void removeFontsListChangedListener(it.businesslogic.ireport.gui.event.FontsListChangedListener listener) {
0726
0727        listenerList.remove (it.businesslogic.ireport.gui.event.FontsListChangedListener.class, listener);
0728    }
0729
0730    /**
0731     * Notifies all registered listeners about the event.
0732     *
0733     * @param event The event to be fired
0734     */

0735    private void fireFontsListChangedListenerFontsListChanged(FontsListChangedEvent event) {
0736
0737        if (listenerList == null) return;
0738        Object JavaDoc[] listeners = listenerList.getListenerList ();
0739        for (int i = listeners.length - 2; i >= 0; i -= 2) {
0740            if (listeners[i]==it.businesslogic.ireport.gui.event.FontsListChangedListener.class) {
0741                ((it.businesslogic.ireport.gui.event.FontsListChangedListener)listeners[i+1]).fontsListChanged (event);
0742            }
0743        }
0744    }
0745
0746    public void reportDocumentStatusChanged(ReportDocumentStatusChangedEvent evt) {
0747
0748        jTreeFiles.updateUI();
0749
0750    }
0751
0752
0753    private void jBoxButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
0754        setElementsValue("setBox", jBoxButton.getLastBox(), it.businesslogic.ireport.Box.class);
0755    }
0756
0757    /**
0758     * When a view is closed, we should update the menu...
0759     *
0760     */

0761    protected void closedView(View view)
0762    {
0763        if (view == viewFiles) jCheckBoxMenuItemExplorer.setSelected(false);
0764        if (view == viewDocumentStructure) jCheckBoxMenuItemDocumentStructure.setSelected(false);
0765        if (view == viewPropertySheet) jCheckBoxMenuItemElementProperties.setSelected(false);
0766        if (view == viewThreads) jCheckBoxMenuItemThreadList.setSelected(false);
0767        if (view == viewLibrary) jCheckBoxMenuItemLibrary.setSelected(false);
0768        if (view == logPaneView) jCheckBoxMenuItemOutput.setSelected(false);
0769        if (view == stylesPanleView) jCheckBoxMenuItemStylesLibrary.setSelected(false);
0770        // Can not be closed... if (view == crosstabStructureView = null;
0771
// Can not be closed... if (view == crosstabMeasuresView = null;
0772
}
0773
0774    private View createView(String JavaDoc id, String JavaDoc text, boolean closable, boolean pin, Component JavaDoc c) {
0775        View view = new View(id, text);
0776
0777        if (closable)
0778                {
0779                    view.getTitlebar().addAction(DockingConstants.CLOSE_ACTION);
0780                    if ( view.getTitlebar().getActionButton(DockingConstants.CLOSE_ACTION) != null)
0781                    {
0782                        view.getTitlebar().getActionButton(DockingConstants.CLOSE_ACTION).addActionListener(
0783                        new ActionListener()
0784            {
0785                public void actionPerformed(ActionEvent e)
0786                {
0787                    View viewx = (View)javax.swing.SwingUtilities.getAncestorOfClass(View.class, (java.awt.Component JavaDoc)e.getSource());
0788                        closedView( viewx );
0789                                        //System.out.println( "Closed: " + viewx.getPersistentId());
0790
}
0791            }
0792                    );
0793                    }
0794                }
0795        if (pin) view.addAction(DockingConstants.PIN_ACTION);
0796
0797
0798
0799        JPanel p = new JPanel();
0800        // p.setBackground(Color.WHITE);
0801
p.setLayout(new BorderLayout JavaDoc());
0802        p.setBorder(new LineBorder JavaDoc(java.awt.Color.GRAY, 1));
0803
0804
0805        p.add(c, BorderLayout.CENTER);
0806                
0807        view.setContentPane(p);
0808                return view;
0809    }
0810
0811    private View createDesktopPage() {
0812        String JavaDoc id = "Desktop";
0813                View view = new View(id, null, null);
0814        view.setTerritoryBlocked(DockingConstants.CENTER_REGION, true);
0815        view.setTitlebar(null);
0816        view.setContentPane(jMDIDesktopPane);
0817                view.setSize(1000,100);
0818        return view;
0819    }
0820
0821    public View getDesktopView()
0822    {
0823        return desktop;
0824    }
0825
0826    public Vector getQueryExecuters() {
0827        return queryExecuters;
0828    }
0829
0830    public void setQueryExecuters(Vector queryExecuters) {
0831        this.queryExecuters = queryExecuters;
0832    }
0833
0834    public boolean isNoExit() {
0835        return noExit;
0836    }
0837
0838    public void setNoExit(boolean noExit) {
0839        this.noExit = noExit;
0840    }
0841
0842    public boolean isUsingWS() {
0843        return usingWS;
0844    }
0845
0846    public void setUsingWS(boolean usingWS) {
0847        this.usingWS = usingWS;
0848    }
0849
0850    public List JavaDoc getUserChoicesWizardTemplates() {
0851        
0852        if (userChoicesWizardTemplates == null)
0853        {
0854            userChoicesWizardTemplates = UserChoicesWizardTemplate.loadWizardTemplates();
0855        }
0856        
0857        return userChoicesWizardTemplates;
0858    }
0859
0860    public void setUserChoicesWizardTemplates(List JavaDoc userChoicesWizardTemplates) {
0861        this.userChoicesWizardTemplates = userChoicesWizardTemplates;
0862    }
0863
0864
0865
0866}//end class MainFrame
0867
Popular Tags