From: Frederic D. <de...@us...> - 2004-06-01 11:28:27
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23809/src/org/fudaa/fudaa/commun Modified Files: FudaaUI.java FudaaCommandLineParser.java FudaaLib.java FudaaCommonImplementation.java FudaaExplorer.java Fudaa.java Added Files: FudaaTimerActionListenerExplorer.java Log Message: Index: Fudaa.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/Fudaa.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Fudaa.java 14 May 2004 10:27:29 -0000 1.10 --- Fudaa.java 1 Jun 2004 11:27:43 -0000 1.11 *************** *** 32,37 **** public final class Fudaa { ! private final FudaaCommandLineParser FLAGS = new FudaaCommandLineParser(); ! private FudaaSplashScreen SPLASH; private boolean ts; private File toOpen; --- 32,37 ---- public final class Fudaa { ! private final FudaaCommandLineParser flags_ = new FudaaCommandLineParser(); ! private FudaaSplashScreen splash_; private boolean ts; private File toOpen; *************** *** 44,47 **** --- 44,51 ---- } + public FudaaCommandLineParser getFlags() { + return flags_; + } + /** * @param args les argument recu *************** *** 52,64 **** public final void launch(final String[] args, BuInformationsSoftware soft, boolean canOpenAFile) { // Lecture des FLAGS ! String[] r = FLAGS.parse(args); if ((!canOpenAFile && (r.length > 0)) || (canOpenAFile && (r.length > 1))) { System.err.println("The flag " + r[0] + " is unknown"); ! System.err.println("Flags: " + FLAGS.flagTotalText()); System.exit(1); } // Version ! if (FLAGS.version) { System.out.println("Fudaa-" + soft.name + ". " + soft.rights); System.out.println("version " + soft.version + " - " + soft.date); --- 56,68 ---- public final void launch(final String[] args, BuInformationsSoftware soft, boolean canOpenAFile) { // Lecture des FLAGS ! String[] r = flags_.parse(args); if ((!canOpenAFile && (r.length > 0)) || (canOpenAFile && (r.length > 1))) { System.err.println("The flag " + r[0] + " is unknown"); ! System.err.println("Flags: " + flags_.flagTotalText()); System.exit(1); } // Version ! if (flags_.version) { System.out.println("Fudaa-" + soft.name + ". " + soft.rights); System.out.println("version " + soft.version + " - " + soft.date); *************** *** 72,76 **** BuPreferences.BU.applyLanguage(soft.languages); // Affichage de la fenetre stdout/stderr ! if (!FLAGS.no_log) { new FudaaTee(true); ts = true; --- 76,80 ---- BuPreferences.BU.applyLanguage(soft.languages); // Affichage de la fenetre stdout/stderr ! if (!flags_.no_log) { new FudaaTee(true); ts = true; *************** *** 102,111 **** System.out.println("Fudaa-" + soft.name); System.out.println("version " + soft.version + " - " + soft.date); ! System.out.println("Date "+Calendar.getInstance().getTime().toString()); // Splash //il est inutile de charger des classes. Cela encombre la memoire pour rien ! if (!FLAGS.no_splash) { ! SPLASH = new FudaaSplashScreen(soft, 2000, new String[0][0]); ! SPLASH.start(); } } --- 106,115 ---- System.out.println("Fudaa-" + soft.name); System.out.println("version " + soft.version + " - " + soft.date); ! System.out.println("Date " + Calendar.getInstance().getTime().toString()); // Splash //il est inutile de charger des classes. Cela encombre la memoire pour rien ! if (!flags_.no_splash) { ! splash_ = new FudaaSplashScreen(soft, 2000, new String[0][0]); ! splash_.start(); } } *************** *** 118,148 **** */ public final void startApp(FudaaCommonImplementation impl) { ! SPLASH.setProgression(60); BuApplication app = new BuApplication(); app.setImplementation(impl); String s = FudaaResource.getS("Initialisation") + "..."; System.out.println(s); ! if (SPLASH != null) SPLASH.setText(s); ! if (SPLASH != null) SPLASH.setProgression(80); app.init(); impl.setConsoleState(ts); ! if (SPLASH != null) SPLASH.setProgression(100); ! if (SPLASH != null) SPLASH.setVisible(false); ! if (SPLASH != null) SPLASH.dispose(); ! try { ! app.start(); ! } ! catch (Throwable e) { ! ByteArrayOutputStream out = new ByteArrayOutputStream(); ! e.printStackTrace(new PrintStream(out)); ! new BuDialogError(app, impl.getInformationsSoftware(), out.toString()).activate(); ! try { ! out.close(); ! } ! catch (IOException ioe) { ! ioe.printStackTrace(); ! } } if (toOpen != null) impl.cmdOuvrirFile(toOpen); } } \ No newline at end of file --- 122,159 ---- */ public final void startApp(FudaaCommonImplementation impl) { ! if (splash_ != null) splash_.setProgression(60); BuApplication app = new BuApplication(); app.setImplementation(impl); String s = FudaaResource.getS("Initialisation") + "..."; System.out.println(s); ! if (splash_ != null) { ! splash_.setText(s); ! splash_.setProgression(80); ! } app.init(); impl.setConsoleState(ts); ! if (splash_ != null) { ! splash_.setProgression(100); ! ! splash_.setVisible(false); ! splash_.dispose(); } + app.start(); + // try { + // + // } + // catch (Throwable e) { + // ByteArrayOutputStream out = new ByteArrayOutputStream(); + // e.printStackTrace(new PrintStream(out)); + // new BuDialogError(app, impl.getInformationsSoftware(), out.toString()).activate(); + // try { + // out.close(); + // } + // catch (IOException ioe) { + // ioe.printStackTrace(); + // } + // } if (toOpen != null) impl.cmdOuvrirFile(toOpen); } + } \ No newline at end of file Index: FudaaCommonImplementation.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/FudaaCommonImplementation.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** FudaaCommonImplementation.java 5 May 2004 12:42:39 -0000 1.21 --- FudaaCommonImplementation.java 1 Jun 2004 11:27:43 -0000 1.22 *************** *** 40,43 **** --- 40,45 ---- import com.memoire.bu.BuPreferences; import com.memoire.bu.BuPreferencesFrame; + import com.memoire.bu.BuPreferencesFrameNew; + import com.memoire.bu.BuPreferencesEditorPanel; import com.memoire.bu.BuResource; import com.memoire.bu.BuTask; *************** *** 66,69 **** --- 68,77 ---- /** + * @see org.fudaa.fudaa.commun.FudaaUI#getParentComponent() + */ + public Component getParentComponent() { + return getFrame(); + } + /** * le chemin de l'aide locale */ *************** *** 170,174 **** protected FudaaUndoCmdMngListener cmdListener_; - protected BuPreferencesFrame preferences_; protected EbliFillePrevisualisation previsuFille_; --- 178,181 ---- *************** *** 194,206 **** * Methode a surcharger pour ajouter ces propres panneaux de pref. */ ! protected void buildPreferences() { ! preferences_ = new BuPreferencesFrame(); ! preferences_.addTab(new BuUserPreferencesPanel(this)); ! preferences_.addTab(new BuLanguagePreferencesPanel(this)); ! preferences_.addTab(new BuDesktopPreferencesPanel(this)); ! preferences_.addTab(new BuLookPreferencesPanel(this)); ! preferences_.addTab(new BuBrowserPreferencesPanel(this)); ! preferences_.addTab(new EbliMiseEnPagePreferencesPanel()); ! preferences_.addTab(new FudaaAidePreferencesPanel(this, getApplicationPreferences())); } --- 201,214 ---- * Methode a surcharger pour ajouter ces propres panneaux de pref. */ ! protected BuPreferencesEditorPanel buildPreferences() { ! BuPreferencesEditorPanel r= new BuPreferencesEditorPanel(); ! r.addTab(new BuUserPreferencesPanel(this)); ! r.addTab(new BuLanguagePreferencesPanel(this)); ! r.addTab(new BuDesktopPreferencesPanel(this)); ! r.addTab(new BuLookPreferencesPanel(this)); ! r.addTab(new BuBrowserPreferencesPanel(this)); ! r.addTab(new EbliMiseEnPagePreferencesPanel()); ! r.addTab(new FudaaAidePreferencesPanel(this, getApplicationPreferences())); ! return r; } *************** *** 208,214 **** * Description de la methode */ ! protected final void preferences() { ! if (preferences_ == null) buildPreferences(); ! addInternalFrame(preferences_); } --- 216,223 ---- * Description de la methode */ ! protected BuPreferencesEditorPanel preferences() { ! BuPreferencesEditorPanel r=buildPreferences(); ! addInternalFrame(new BuPreferencesFrameNew(this,r)); ! return r; } *************** *** 672,697 **** * @param _f le fichier a suivre */ ! public void openFileInLogFrame(File _f) { if (tailFrame_ == null) { - openLogFrame(_f); - } - else { - tailFrame_.openFile(_f, false, true); - tailFrame_.show(); - } - } - - /** - * Ouvre le tail en java - */ - public void openLogFrame() { - openLogFrame(null); - } - - private void openLogFrame(final File _f) { - if (tailFrame_ != null) { - tailFrame_.getFrame().show(); - } - else { new BuTaskOperation(this, FudaaResource.getS("Console")) { --- 681,686 ---- * @param _f le fichier a suivre */ ! public void openFileInLogFrame(final File _f) { if (tailFrame_ == null) { new BuTaskOperation(this, FudaaResource.getS("Console")) { *************** *** 716,721 **** --- 705,723 ---- }.start(); } + else { + tailFrame_.openFile(_f, false, true); + tailFrame_.show(); + } } + /** + * Ouvre le tail en java + */ + public void openLogFrame() { + openFileInLogFrame(null); + } + + + protected FollowApp tailFrame_; } \ No newline at end of file Index: FudaaLib.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/FudaaLib.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** FudaaLib.java 30 Apr 2004 13:52:13 -0000 1.20 --- FudaaLib.java 1 Jun 2004 11:27:43 -0000 1.21 *************** *** 83,89 **** * <pre> * ! * Exemple : _main : c:\\refonde\\cercle\\rect.prf ! * _file : c:\\users\\dupont\\geom.geo ! * return : ..\\..\\users\\dupont\\geom.geo * * </pre> --- 83,91 ---- * <pre> * ! * ! * Exemple : _main : c:\\refonde\\cercle\\rect.prf ! * _file : c:\\users\\dupont\\geom.geo ! * return : ..\\..\\users\\dupont\\geom.geo ! * * * </pre> *************** *** 234,238 **** --- 236,242 ---- .getInformationsSoftware(), _message) : new BuDialogWarning(null, null, _message); warn.setTitle(_titre); + warn.setModal(true); warn.activate(); + warn.dispose(); } *************** *** 249,253 **** --- 253,259 ---- : new BuDialogError(_impl.getImplementation(), _impl.getInformationsSoftware(), _message); erreur.setTitle(_titre); + erreur.setModal(true); erreur.activate(); + erreur.dispose(); } *************** *** 262,266 **** _impl.getInformationsSoftware(), _message) : new BuDialogConfirmation(null, null, _message); conf.setTitle(_titre); ! return isOkResponse(conf.activate()); } --- 268,275 ---- _impl.getInformationsSoftware(), _message) : new BuDialogConfirmation(null, null, _message); conf.setTitle(_titre); ! conf.setModal(true); ! int r = conf.activate(); ! conf.dispose(); ! return isOkResponse(r); } Index: FudaaUI.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/FudaaUI.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** FudaaUI.java 30 Apr 2004 13:52:13 -0000 1.6 --- FudaaUI.java 1 Jun 2004 11:27:43 -0000 1.7 *************** *** 9,18 **** package org.fudaa.fudaa.commun; import java.io.File; ! import com.memoire.bu.BuTask; import org.fudaa.dodico.commun.DodicoAnalyze; import org.fudaa.dodico.commun.DodicoUI; import org.fudaa.dodico.commun.ProgressionInterface; import org.fudaa.dodico.fichiers.FileOperationSynthese; /** * @author deniger --- 9,21 ---- package org.fudaa.fudaa.commun; + import java.awt.Component; import java.io.File; ! import org.fudaa.dodico.commun.DodicoAnalyze; import org.fudaa.dodico.commun.DodicoUI; import org.fudaa.dodico.commun.ProgressionInterface; import org.fudaa.dodico.fichiers.FileOperationSynthese; + + import com.memoire.bu.BuTask; /** * @author deniger *************** *** 20,23 **** --- 23,31 ---- */ public interface FudaaUI extends DodicoUI { + + /** + * @return + */ + public Component getParentComponent(); /** Index: FudaaCommandLineParser.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/FudaaCommandLineParser.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** FudaaCommandLineParser.java 30 Apr 2004 13:52:14 -0000 1.9 --- FudaaCommandLineParser.java 1 Jun 2004 11:27:43 -0000 1.10 *************** *** 8,13 **** */ package org.fudaa.fudaa.commun; ! import java.awt.*; ! import java.awt.event.*; import org.fudaa.fudaa.commun.dodico.FudaaDodicoSelectionServeur; --- 8,20 ---- */ package org.fudaa.fudaa.commun; ! import java.awt.BorderLayout; ! import java.awt.Button; ! import java.awt.Dialog; ! import java.awt.Frame; ! import java.awt.Label; ! import java.awt.event.ActionEvent; ! import java.awt.event.ActionListener; ! import java.awt.event.WindowAdapter; ! import java.awt.event.WindowEvent; import org.fudaa.fudaa.commun.dodico.FudaaDodicoSelectionServeur; *************** *** 64,67 **** --- 71,102 ---- } /** + * @return les flag autorisés + */ + public String[] flagTexts() { + return new String[] { + "--no_terminal", + "--no_log", + "--no_corba", + "--corba", + "--no_splash", + "--version" }; + } + /** + * @return les flag sur une seule ligne + */ + public String flagTotalText() { + String[] t= flagTexts(); + String r= ""; + boolean p= true; + for (int i= 0; i < t.length; i++) { + if (!p) + r += ", "; + else + p= false; + r += t[i]; + } + return r; + } + /** * Gere --no_terminal,--no_corba,--no_splash,--corba et --version. * Si --no_corba ou --corba, les champs statiques de la classe *************** *** 73,79 **** boolean no_corba=false; boolean corba=false; ! String[] tmpArgs= new String[args.length]; int passed= 0; ! for (int i= 0; i < args.length; i++) { if ("--no_terminal".equals(args[i])|| ("--no_log".equals(args[i]))) no_log= true; --- 108,114 ---- boolean no_corba=false; boolean corba=false; ! String[] tmpArgs= new String[(args==null?0:args.length)]; int passed= 0; ! for (int i= 0; i < tmpArgs.length; i++) { if ("--no_terminal".equals(args[i])|| ("--no_log".equals(args[i]))) no_log= true; *************** *** 107,137 **** return res; } - /** - * @return les flag autorisés - */ - public String[] flagTexts() { - return new String[] { - "--no_terminal", - "--no_log", - "--no_corba", - "--corba", - "--no_splash", - "--version" }; - } - /** - * @return les flag sur une seule ligne - */ - public String flagTotalText() { - String[] t= flagTexts(); - String r= ""; - boolean p= true; - for (int i= 0; i < t.length; i++) { - if (!p) - r += ", "; - else - p= false; - r += t[i]; - } - return r; - } } --- 142,144 ---- --- NEW FILE: FudaaTimerActionListenerExplorer.java --- /** * @creation 25 mai 2004 * @modification $Date: 2004/06/01 11:27:43 $ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... */ package org.fudaa.fudaa.commun; import java.awt.event.ActionEvent; import com.memoire.bu.BuExplorer; import com.memoire.bu.BuTimerActionListenerAbstract; /** * @author Fred Deniger * @version $Id: FudaaTimerActionListenerExplorer.java,v 1.1 2004/06/01 11:27:43 deniger Exp $ */ public class FudaaTimerActionListenerExplorer extends BuTimerActionListenerAbstract { /** * @param _target */ public FudaaTimerActionListenerExplorer(FudaaExplorer _target) { super(_target); } private FudaaExplorer getExplorer() { Object o = getTarget(); if (o != null) return (FudaaExplorer) o; return null; } /** * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent _e) { FudaaExplorer m = getExplorer(); if (m == null) { //System.out.println("weak ref for "+getClass().getName()+" in garbage!"); return; } m.refresh(); } } Index: FudaaExplorer.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/FudaaExplorer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FudaaExplorer.java 14 May 2004 10:27:29 -0000 1.1 --- FudaaExplorer.java 1 Jun 2004 11:27:43 -0000 1.2 *************** *** 160,163 **** --- 160,165 ---- app_ = _app; listeners_ = new Vector(1, 1); + pmDirs_ = new BuPopupMenu(BuResource.BU.getString("Répertoires")); + pmFiles_ = new BuPopupMenu(BuResource.BU.getString("Fichiers")); MouseListener mh = new MouseHandler(); *************** *** 237,241 **** miMake_ = pmCurrent_.addMenuItem("Make", "MAKE", false); - pmDirs_ = new BuPopupMenu(BuResource.BU.getString("Répertoires")); pmDirs_.addMenuItem(BuResource.BU.getString("Ouvrir"), "OUVRIR_REPERTOIRE", true); pmDirs_.addSeparator(); --- 239,242 ---- *************** *** 243,247 **** pmDirs_.addMenuItem(BuResource.BU.getString("Détruire..."), "DETRUIRE_REPERTOIRE", true); - pmFiles_ = new BuPopupMenu(BuResource.BU.getString("Fichiers")); miOuvrirFichier_ = pmFiles_.addMenuItem(BuResource.BU.getString("Ouvrir"), "OUVRIR_FICHIER", true); --- 244,247 ---- *************** *** 330,342 **** add(sph, BuBorderLayout.CENTER); - /* - * final BuToggleButton tb=new BuToggleButton("Viewer"); tb.setRequestFocusEnabled(false); - * tb.setMargin(BuInsets.INSETS1111); tb.setFont(getETF()); - * tb.setIcon(BuResource.resizeIcon(BuResource.BU.getIcon("voir"),12)); tb.setSelected(true); - * tb.setHorizontalAlignment(BuToggleButton.RIGHT); tb.addActionListener(new ActionListener() { - * public void actionPerformed(ActionEvent _evt) { sp3.setVisible(tb.isSelected()); - * updateViewer(); //sph.updateSplits(); sph.revalidate(); } }); BuPanel ptb=new BuPanel(new - * FlowLayout(FlowLayout.RIGHT,0,0)); ptb.add(tb); p2.add(ptb); - */ } else { --- 330,333 ---- *************** *** 366,376 **** p1.setPreferredSize(new Dimension(150, 220)); p2.setPreferredSize(new Dimension(150, 220)); ! timer_ = new BuTimer(1000, new ActionListener() { ! ! public void actionPerformed(ActionEvent _evt) { ! refresh(); ! } ! }); setCurrentDirectory(FuFile.ensureFuFile(_path)); --- 357,369 ---- p1.setPreferredSize(new Dimension(150, 220)); p2.setPreferredSize(new Dimension(150, 220)); + timer_ = new BuTimer(1000, new FudaaTimerActionListenerExplorer(this)); ! // timer_ = new BuTimer(1000, new ActionListener() { ! // ! // public void actionPerformed(ActionEvent _evt) { ! // refresh(); ! // timer_=null; ! // } ! // }); setCurrentDirectory(FuFile.ensureFuFile(_path)); *************** *** 675,679 **** } ! private final class FilterCR extends BuAbstractCellRenderer { public FilterCR() { --- 668,672 ---- } ! private final static class FilterCR extends BuAbstractCellRenderer { public FilterCR() { *************** *** 771,775 **** //TMP File[] l = null; ! if (FuLib.isWindows()) l = new File[] { new File("C:\\")}; else l = new File[0]; --- 764,770 ---- //TMP File[] l = null; ! // if (FuLib.isWindows()) l = new File[] { new File("C:\\")}; ! // else l = new File[0]; ! if (FuLib.isWindows()) l = File.listRoots(); else l = new File[0]; *************** *** 965,970 **** setCurrentDirectory(getSelectedDirectory()); } - - public final void openFile() { --- 960,963 ---- *************** *** 1009,1014 **** catch (IOException ex) {} } ! ! protected void addFavorites(){ EbliFavoriteFiles.INSTANCE.addFile(getSelectedDirectory()); } --- 1002,1007 ---- catch (IOException ex) {} } ! ! protected void addFavorites() { EbliFavoriteFiles.INSTANCE.addFile(getSelectedDirectory()); } *************** *** 1094,1101 **** // utils ! private static final Cursor WAIT_CURSOR = Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR); private final void setProgression(int _p) { ! if (app_ != null) app_.getMainPanel().setProgression(_p); } --- 1087,1094 ---- // utils ! private final Cursor WAIT_CURSOR = Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR); private final void setProgression(int _p) { ! if ((app_ != null) && (app_.getMainPanel() != null)) app_.getMainPanel().setProgression(_p); } *************** *** 1454,1502 **** } ! public static void main(String[] _args) { ! BuPreferences.BU.applyLookAndFeel(); ! BuPreferences.BU.applyLanguage(BuPreferences.BU.getLanguages()); ! ! DndIcons.setNoDropIcon(BuResource.BU.getIcon(DndIcons.class.getResource("dnd-nodrop_24.gif"))); ! DndIcons ! .setCanDropIcon(BuResource.BU.getIcon(DndIcons.class.getResource("dnd-candrop_24.gif"))); ! DndIcons ! .setDefaultIcon(BuResource.BU.getIcon(DndIcons.class.getResource("dnd-default_24.gif"))); ! DndIcons.put(String.class, BuResource.BU.getIcon("texte")); ! DndIcons.put(URL.class, BuResource.BU.getIcon("signet")); ! ! if (_args.length == 0) _args = new String[] ! //{ "." }; ! { FuLib.getSystemProperty("user.dir")}; ! ! for (int i = 0; i < _args.length; i++) { ! if (_args[i].equals("--ram")) { ! FuFile.setRamMode(true); ! continue; ! } ! ! final FuFile p = FuFile.createFile(FuLib.expandedPath(_args[i])); ! final JFrame f = new JFrame(BuResource.BU.getString("Explorateur")); ! final FudaaExplorer e = new FudaaExplorer(p); ! ! BuRegistry.register(f); ! e.setBorder(BuBorders.EMPTY2222); ! f.getContentPane().add(e); ! f.setLocation(140, 35); ! f.pack(); ! f.invalidate(); ! f.validate(); ! f.show(); ! e.repaint(); ! ! f.addWindowListener(new WindowAdapter() { ! public void windowClosing(WindowEvent _evt) { ! f.hide(); ! f.dispose(); ! BuRegistry.unregister(f); ! } ! }); ! } } } --- 1447,1461 ---- } ! /** ! * @see java.lang.Object#finalize() ! */ ! protected void finalize() throws Throwable { ! pmDirs_.removeAll(); ! pmFiles_.removeAll(); ! pmDirs_.setInvoker(null); ! pmFiles_.setInvoker(null); ! if (timer_ != null) timer_.stop(); ! super.finalize(); } } |