From: <de...@us...> - 2004-03-10 09:31:26
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9469/src/org/fudaa/fudaa/tr Modified Files: TrImplHelper.java TrImplementation.java TrFileFormatManager.java Added Files: TrExplorer.java TrApplicationManager.java package.html Removed Files: TrCodePanel.java Log Message: Ajout du superviseur pour le prepro --- NEW FILE: TrExplorer.java --- /* * @file TrExplorer.java * @creation 8 mars 2004 * @modification $Date: 2004/03/10 09:13:29 $ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... */ package org.fudaa.fudaa.tr; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.util.Observable; import java.util.Observer; import com.memoire.bu.BuActionEnabler; import com.memoire.bu.BuExplorer; import com.memoire.bu.BuResource; import com.memoire.fu.FuFile; import org.fudaa.ebli.filechooser.EbliFavoriteFiles; /** * @author Fred Deniger * @version $id$ * */ public class TrExplorer extends BuExplorer implements Observer{ private TrApplicationManager appli_; private ActionListener dirAction_; private ActionListener fileAction_; /** * @param _appli * @param _path */ public TrExplorer(TrApplicationManager _appli, FuFile _path) { super(_appli.getImpl(), true, _path); EbliFavoriteFiles.INSTANCE.setObserver(this); miAntBuild_ = null; miCvsAdd_ = null; miCvsCommit_ = null; miCvsUpdate_ = null; miMake_ = null; setAppliManager(_appli); } protected void fireFileAction(String _action){ if("OUVRIR".equals(_action)){ appli_.ouvrir(getSelectedFile()); } } /** * @param _mng le nouveau gestion des appli. */ public final void setAppliManager(TrApplicationManager _mng){ appli_=_mng; buildMenuForDir(); buildMenuForFiles(); } private void buildMenuForFiles() { pmFiles_.removeAll(); miOuvrirFichier_ = pmFiles_.addMenuItem (BuResource.BU.getString("Ouvrir"), "OUVRIR_FICHIER", true); if(this.fileAction_==null) fileAction_=new FileActionListener(); appli_.buildCmdForMenuFile(pmFiles_,fileAction_); pmFiles_.addSeparator(); pmFiles_.addMenuItem(BuResource.BU.getString("Tout sélectionner"), "TOUTSELECTIONNER", true); pmFiles_.addSeparator(); pmFiles_.addMenuItem(BuResource.BU.getString("Renommer..."), "RENOMMER_FICHIER", true); pmFiles_.addMenuItem(BuResource.BU.getString("Détruire..."), "DETRUIRE_FICHIER", true); } private void buildMenuForDir(){ pmDirs_.removeAll(); if(this.dirAction_==null) dirAction_=new DirActionListener(); appli_.buildCmdForMenuDir(pmDirs_,dirAction_); pmDirs_.addSeparator(); pmDirs_.addMenuItem(BuResource.BU.getString("Ouvrir" ),"OUVRIR_REPERTOIRE" ,true); pmDirs_.addSeparator(); pmDirs_.addMenuItem(BuResource.BU.getString("Renommer..."),"RENOMMER_REPERTOIRE",true); pmDirs_.addMenuItem(BuResource.BU.getString("Détruire..."),"DETRUIRE_REPERTOIRE",true); } protected void updateMenuFiles() { int l = files_.getSelectedValues().length; BuActionEnabler.setEnabledForAction(pmFiles_, "OUVRIR_FICHIER", (l > 0) ); BuActionEnabler.setEnabledForAction(pmFiles_, "DETRUIRE_FICHIER", l == 1); BuActionEnabler.setEnabledForAction(pmFiles_, "RENOMMER_FICHIER", l == 1); pmFiles_.computeMnemonics(); appli_.updateOuvrirMenu(miOuvrirFichier_,l,getSelectedFile()); appli_.updateMenuFiles(l,getSelectedFile()); } protected void updateMenuCurrent() { /* * miCvsUpdate_.setEnabled (getCurrentDirectory().createChild("CVS" ).exists()); * miCvsCommit_.setEnabled (getCurrentDirectory().createChild("CVS" ).exists()); miAntBuild_ * .setEnabled (getCurrentDirectory().createChild("build.xml").exists()); miMake_ .setEnabled * (getCurrentDirectory().createChild("Makefile" ).exists()); */ } /** * @see java.util.Observer#update(java.util.Observable, java.lang.Object) */ public void update(Observable _o, Object _arg) { roots_.removeActionListener(this); roots_.removeAllItems(); super.addMtab(); roots_.addActionListener(this); } /** * @param _cmd la commande * @param _f le repertoire sélectionne */ public void dirAction(String _cmd,File _f){ appli_.dirAction(_cmd,_f); } /** * @param _cmd la commande * @param _f le fichier selectionne */ public void fileAction(String _cmd,File _f){ appli_.fileAction(_cmd,_f); } private class DirActionListener implements ActionListener{ /** * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent _e) { if(dirs_.getSelectedValues().length==1) TrExplorer.this.dirAction(_e.getActionCommand(),getSelectedDirectory()); } } private class FileActionListener implements ActionListener{ /** * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent _e) { if(files_.getSelectedValues().length==1) TrExplorer.this.fileAction(_e.getActionCommand(),getSelectedFile()); } } } --- NEW FILE: TrApplicationManager.java --- /* * @file TrMenuApplication.java * @creation 8 mars 2004 * @modification $Date: 2004/03/10 09:13:29 $ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... */ package org.fudaa.fudaa.tr; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import com.memoire.bu.BuDynamicMenu; import com.memoire.bu.BuMenu; import com.memoire.bu.BuMenuItem; import com.memoire.bu.BuPopupMenu; import com.memoire.bu.BuResource; import com.memoire.bu.BuSeparator; import com.memoire.fu.FuFile; import org.fudaa.ctulu.CtuluLib; import org.fudaa.dodico.fichiers.FileFormatSoftware; import org.fudaa.fudaa.commun.exec.FudaaAppliManagerImpl; import org.fudaa.fudaa.meshviewer.Mv; /** * @author Fred DENIGER * @version $id$ */ public class TrApplicationManager extends FudaaAppliManagerImpl { private class TrAppliMainMenu extends BuDynamicMenu { /** * Appelle le constructeur avec "applications","APPLICATIONS" */ public TrAppliMainMenu() { super(TrResource.getS("Applications"), "APPLICATIONS"); } /** * @see com.memoire.bu.BuDynamicMenu#build() */ protected void build() { if (getMenuComponentCount() == 0) { buildTrItem(this); add(new BuSeparator()); TrApplicationManager.this.createMenuItems(this); } } /** * @see com.memoire.bu.BuDynamicMenu#isActive() */ protected boolean isActive() { return true; } } protected BuMenuItem createProject_; private BuDynamicMenu mainMenu_; /** * Constructeur par defaut. * * @param _impl l'implementation tr */ public TrApplicationManager(TrImplementation _impl) { super(_impl.getApplicationPreferences(), _impl); } private void buildMv(File _f) { Mv m = new Mv(); m.buildDefaultFrame(_f); m.pack(); m.setLocation(impl_.getFrame().getLocation()); m.show(); } /** * Permet de mettre a jour l'etat du menu ouvrir * @param _miOuvrirFichier * @param _nbSelectedFile * @param _selectedFile */ public void updateOuvrirMenu(BuMenuItem _miOuvrirFichier, int _nbSelectedFile, FuFile _selectedFile) { if (_nbSelectedFile == 1) { String s = ouvrir(_selectedFile, true); _miOuvrirFichier.setText(BuResource.BU.getString("Ouvrir") + CtuluLib.ESPACE + (s == null ? CtuluLib.EMPTY_STRING : "(" + s + ")")); _miOuvrirFichier.setEnabled(true); } else { _miOuvrirFichier.setText(BuResource.BU.getString("Ouvrir")); _miOuvrirFichier.setEnabled(false); } } /** * Ajoute les applications par defaut pour le prepro. * * @param _m */ protected void buildTrItem(BuMenu _m) { BuMenuItem it = new BuMenuItem(TrResource.getS("Explorateur")); it.setActionCommand("EXPLORER"); it.addActionListener(this); _m.add(it); it = new BuMenuItem(TrResource.getS("Meshiew")); it.setActionCommand("MESHVIEW"); it.addActionListener(this); _m.add(it); it = new BuMenuItem(TrResource.getS("Console")); it.setActionCommand("CONSOLE"); it.addActionListener(this); _m.add(it); } /** * @param _f le fichier a ouvrir */ protected void ouvrir(FuFile _f) { ouvrir(_f, false); } /** * @param _f le fichier a ouvrir */ protected String ouvrir(FuFile _f, boolean _infoOnly) { TrImplementation imp = getImpl(); String name = _f.getName(); TrFileFormatManager mng = imp.getFileFormatMng(); if (mng.isCasFile(name)) { if (_infoOnly) return TrResource.getS("Projet Télémac"); imp.ouvrirId(FileFormatSoftware.TELEMAC_IS.name, _f); } else if (mng.isRefluxFile(name)) { if (_infoOnly) return TrResource.getS("Projet Reflux"); imp.ouvrirId(FileFormatSoftware.REFLUX_IS.name, _f); } else if (_infoOnly) return TrResource.getS("MeshViewer"); if (mng.isGridExtension(name) != null) { buildMv(_f); } return null; } /** * CONSOLE, MESHVIEW,EXPLORER * * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent _e) { String action = _e.getActionCommand(); if ("CONSOLE".equals(action)) { getImpl().openLogFrame(); } else if ("EXPLORER".equals(action)) { getImpl().showExplorer(); } else if ("MESHVIEW".equals(action)) { buildMv(null); } super.actionPerformed(_e); } /** * Methode a surcharger pour ajouter des actions au menu contextuel des rep. * Les evenements sont a recuperer dans la methode {@link #dirAction(String, File)}. * @param _m le menu contextuel a modifier * @param _l le listener a UTILISER ( dispatch les evenments) */ public void buildCmdForMenuDir(BuPopupMenu _m, ActionListener _l) {} /** * Methode a surcharger pour ajouter des actions au menu contextuel des fichiers. * Les evenements sont a recuperer dans la methode {@link #fileAction(String, File)}. * @param _m le menu de dest * @param _l le listener */ public void buildCmdForMenuFile(BuPopupMenu _m, ActionListener _l) { createProject_ = new BuMenuItem(null, TrResource.TR.getString("Créer projet")); createProject_.setActionCommand("CREATE_PROJECT"); createProject_.setIcon(BuResource.BU.getIcon("creer")); createProject_.addActionListener(_l); _m.add(createProject_); } /** * Methode appele par les items ajoutés dans la fonction {@link #buildCmdForMenuDir(BuPopupMenu, ActionListener)} * @param cmd la commande * @param _f le repertoire selectionne */ public void dirAction(String cmd, File _f) {} /** * @param cmd la commande envoyee * @param _f le fichier selectionnee */ public void fileAction(String cmd, File _f) { if ("CREATE_PROJECT".equals(cmd)) { createProject(_f); } } /** * Methode appele lors de l'action "creer projet" * @param _f le fichier maillage */ protected void createProject(File _f) { getImpl().creer(_f); } /** * @return le menu principal contenant les applis. */ public BuMenu getAppliMenu() { if (mainMenu_ == null) mainMenu_ = new TrAppliMainMenu(); return mainMenu_; } /** * @return l'implementation */ public TrImplementation getImpl() { return (TrImplementation) super.impl_; } /** * Met a jour le menu principal * * @see org.fudaa.fudaa.commun.exec.FudaaAppliManagerImpl#prefChanged() */ public void prefChanged() { if (mainMenu_ != null) { mainMenu_.removeAll(); } } /** * @param _nbFileChoosen le nombre de fichier selectionne * @param _f le fichier selectionne */ public void updateMenuFiles(int _nbFileChoosen, File _f) { createProject_.setEnabled((_nbFileChoosen == 1) && (getImpl().getFileFormatMng().isGridExtension(_f.getName()) != null)); } } --- NEW FILE: package.html --- (This appears to be a binary file; contents omitted.) Index: TrImplHelper.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/TrImplHelper.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** TrImplHelper.java 12 Dec 2003 11:29:41 -0000 1.11 --- TrImplHelper.java 10 Mar 2004 09:13:29 -0000 1.12 *************** *** 8,25 **** */ package org.fudaa.fudaa.tr; - import java.io.File; - - import org.fudaa.ctulu.CtuluLib; import com.memoire.bu.BuIcon; import com.memoire.bu.BuMenuItem; import com.memoire.bu.BuTask; ! import org.fudaa.dodico.commun.ProgressionInterface; import org.fudaa.dodico.fichiers.FileFormatSoftware; - import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.tr.reflux.TrRefluxImplHelper; import org.fudaa.fudaa.tr.telemac.TrTelemacImplHelper; /** * @author deniger --- 8,30 ---- */ package org.fudaa.fudaa.tr; + import java.awt.Component; + import java.io.File; + import javax.swing.JMenu; + import com.memoire.bu.BuDynamicMenu; import com.memoire.bu.BuIcon; + import com.memoire.bu.BuMenu; + import com.memoire.bu.BuMenuBar; import com.memoire.bu.BuMenuItem; import com.memoire.bu.BuTask; ! import com.memoire.fu.FuFile; ! import com.memoire.fu.FuLib; ! import org.fudaa.ctulu.CtuluLib; import org.fudaa.dodico.commun.ProgressionInterface; import org.fudaa.dodico.fichiers.FileFormatSoftware; import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.tr.reflux.TrRefluxImplHelper; import org.fudaa.fudaa.tr.telemac.TrTelemacImplHelper; + /** * @author deniger *************** *** 27,70 **** */ public abstract class TrImplHelper { ! protected TrImplementation impl_; ! public TrImplHelper(TrImplementation _impl) { ! impl_= _impl; } public void active() { ! impl_.getFrame().setTitle( ! TrResource.getS("préprocesseur") + CtuluLib.ESPACE + getSoftwareID()); ! impl_.getFrame().setIconImage( ! FudaaResource.FUDAA.getIcon("appli/" + getSoftwareID()).getImage()); } ! public TrImplementation getImpl() { ! return impl_; } ! public abstract TrProjet ouvrir(ProgressionInterface _op,BuTask _t); ! public abstract TrProjet ouvrir(ProgressionInterface _op, File _f,BuTask _t); ! public abstract TrProjet creer(ProgressionInterface _op,BuTask _t); public BuIcon getIcon() { return FudaaResource.FUDAA.getToolIcon("appli/" + getSoftwareID()); } ! public abstract String getSoftwareID(); ! public BuMenuItem[] getMenuItemsOuvrir() { ! return null; } ! public BuMenuItem[] getMenuItemsProjet() { return null; } ! public static TrImplHelper getImplHelper( ! String _id, ! TrImplementation _impl) { ! if (_impl.getCurrentImplHelper() != null) { ! if (_id.equals(_impl.getCurrentImplHelper().getSoftwareID())) { ! return _impl.getCurrentImplHelper(); ! } ! } ! if (_id.equals(FileFormatSoftware.REFLUX_IS.name)) { ! return new TrRefluxImplHelper(_impl); ! } else if (_id.equals(FileFormatSoftware.TELEMAC_IS.name)) { ! return new TrTelemacImplHelper(_impl); ! } ! return null; } } --- 32,140 ---- */ public abstract class TrImplHelper { ! ! public static TrImplHelper getImplHelper( ! String _id, ! TrImplementation _impl) { ! if (_impl.getCurrentImplHelper() != null) { ! if (_id.equals(_impl.getCurrentImplHelper().getSoftwareID())) { ! return _impl.getCurrentImplHelper(); ! } ! } ! if (_id.equals(FileFormatSoftware.REFLUX_IS.name)) { ! return new TrRefluxImplHelper(_impl); ! } else if (_id.equals(FileFormatSoftware.TELEMAC_IS.name)) { ! return new TrTelemacImplHelper(_impl); ! } ! return null; ! } ! ! TrApplicationManager appliMng_; ! ! public TrImplHelper( TrApplicationManager _mng) { ! appliMng_ = _mng; ! } ! ! private void addOuvrirAutre() { ! final BuMenuItem[] items_ = getMenuItemsOuvrir(); ! if ((items_ != null) && (items_.length > 0)) { ! BuMenu ouvrirAutre = ! new BuDynamicMenu( ! TrResource.getS("Ouvrir autre") + "...", ! "OUVRIR_AUTRE") { ! ! public void build() { ! if (this.getMenuComponentCount() == 0) { ! //addMenuItem("Projet Télémac", PREF_OUVRIR + TrProjet.TELEMAC_ID); ! int n = items_.length; ! for (int i = 0; i < n; i++) { ! add(items_[i]); ! items_[i].addActionListener(getImpl()); ! } ! } ! } ! ! public boolean isActive() { ! return true; ! } ! }; ! BuMenuBar mb = getImpl().getApp().getMainMenuBar(); ! mb.getMenu("MENU_FICHIER").add(ouvrirAutre, 2); ! } ! } ! ! private void removeOuvrirAutre() { ! JMenu menu = getImpl().getApp().getMainMenuBar().getMenu("MENU_FICHIER"); ! Component c = menu.getMenuComponent(2); ! if ((c != null) ! && (c instanceof BuDynamicMenu) ! && (((BuDynamicMenu) c).getActionCommand().equals("OUVRIR_AUTRE"))) ! menu.remove(c); ! } ! ! protected TrApplicationManager getAppliMng() { ! return appliMng_; } + public void active() { ! getImpl().getFrame().setTitle( ! TrResource.getS("préprocesseur") + CtuluLib.ESPACE + getSoftwareID()); ! getImpl().getFrame().setIconImage( ! FudaaResource.FUDAA.getIcon("appli/" + getSoftwareID()).getImage()); ! addOuvrirAutre(); ! getImpl().addMenu(appliMng_.getAppliMenu(), getImpl().getNbMenuInMenuBar() - 1); } ! ! public TrExplorer createExplorer() { ! return new TrExplorer(appliMng_, FuFile ! .createFile(FuLib.getUserHome())); } ! ! public abstract TrProjet creer(ProgressionInterface _op, File _initGrid,BuTask _t); ! ! ! public BuIcon getIcon() { return FudaaResource.FUDAA.getToolIcon("appli/" + getSoftwareID()); } ! ! public TrImplementation getImpl(){ ! return appliMng_.getImpl(); } ! ! public BuMenuItem[] getMenuItemsOuvrir() { return null; } ! ! public abstract String getSoftwareID(); ! ! ! public abstract TrProjet ouvrir(ProgressionInterface _op, BuTask _t); ! ! public abstract TrProjet ouvrir(ProgressionInterface _op, File _f, BuTask _t); ! ! public void unactive() { ! removeOuvrirAutre(); ! BuMenuBar mb = getImpl().getMainMenuBar(); ! mb.remove(appliMng_.getAppliMenu()); } } Index: TrImplementation.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/TrImplementation.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** TrImplementation.java 5 Mar 2004 15:30:15 -0000 1.21 --- TrImplementation.java 10 Mar 2004 09:13:29 -0000 1.22 *************** *** 8,11 **** --- 8,12 ---- */ package org.fudaa.fudaa.tr; + import ghm.followgui.FollowApp; *************** *** 16,20 **** import java.awt.event.ItemEvent; import java.awt.event.ItemListener; [...1561 lines suppressed...] ! ! } ! if (com.equals("IMPORTER")) { ! buildImportMenu(); ! } ! menu.removeItemListener(this); ! } } } --- 887,896 ---- } /** ! * Enleve le glasspane */ ! public void unsetGlassPaneStop() { ! if (glassPaneStop_ != null) ! glassPaneStop_.setVisible(false); } } Index: TrFileFormatManager.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/TrFileFormatManager.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** TrFileFormatManager.java 12 Feb 2004 16:15:21 -0000 1.8 --- TrFileFormatManager.java 10 Mar 2004 09:13:29 -0000 1.9 *************** *** 13,16 **** --- 13,17 ---- */ package org.fudaa.fudaa.tr; + import java.util.ArrayList; import java.util.Arrays; *************** *** 20,32 **** import java.util.List; import java.util.TreeMap; - import javax.swing.JMenuItem; - import org.fudaa.ctulu.CtuluLib; - import com.memoire.bu.BuInformationsSoftware; import com.memoire.bu.BuMenu; - import org.fudaa.dodico.commun.DodicoEnumType; import org.fudaa.dodico.dunes.io.DunesFileFormat; import org.fudaa.dodico.fichiers.FileFormat; --- 21,30 ---- import java.util.List; import java.util.TreeMap; import javax.swing.JMenuItem; import org.fudaa.ctulu.CtuluLib; import com.memoire.bu.BuInformationsSoftware; import com.memoire.bu.BuMenu; import org.fudaa.dodico.commun.DodicoEnumType; + import org.fudaa.dodico.commun.DodicoLib; import org.fudaa.dodico.dunes.io.DunesFileFormat; import org.fudaa.dodico.fichiers.FileFormat; *************** *** 42,56 **** import org.fudaa.dodico.telemac.io.TelemacCLFileFormat; import org.fudaa.dodico.telemac.io.TelemacLiquideFileFormat; /** * @author deniger - * * @version $Id$ - * */ public class TrFileFormatManager { private FileFormat[] formats_; - public static String EXPORT_PREF= "EXPORT"; - public static String IMPORT_PREF= "IMPORT"; /** * --- 40,55 ---- import org.fudaa.dodico.telemac.io.TelemacCLFileFormat; import org.fudaa.dodico.telemac.io.TelemacLiquideFileFormat; + import org.fudaa.fudaa.commun.FudaaLib; /** * @author deniger * @version $Id$ */ public class TrFileFormatManager { + private FileFormat[] formats_; + public static String EXPORT_PREF = "EXPORT"; + public static String IMPORT_PREF = "IMPORT"; + private FileFormat[] gridFileFormat_; /** * *************** *** 63,76 **** public FileFormat getFileFormatWithID(String _id) { ! if (formats_ == null) ! buildFormat(); ! for (int i= formats_.length - 1; i >= 0; i--) { ! if (formats_[i].getID().equals(_id)) ! return formats_[i]; } return null; } private final void buildFormat() { ! HashSet s= new HashSet(15); s.add(INPFileFormat.getInstance()); s.add(DunesFileFormat.getInstance()); --- 62,76 ---- public FileFormat getFileFormatWithID(String _id) { ! if (formats_ == null) ! buildFormat(); ! for (int i = formats_.length - 1; i >= 0; i--) { ! if (formats_[i].getID().equals(_id)) ! return formats_[i]; } return null; } + private final void buildFormat() { ! HashSet s = new HashSet(15); s.add(INPFileFormat.getInstance()); s.add(DunesFileFormat.getInstance()); *************** *** 83,92 **** s.add(CrbFileFormat.getInstance()); s.add(CLTransitoireFileFormat.getInstance()); ! formats_= new FileFormat[s.size()]; s.toArray(formats_); - } public static FileFormat[] getArray(ArrayList _l) { ! FileFormat[] r= new FileFormat[_l.size()]; _l.toArray(r); return r; --- 83,92 ---- s.add(CrbFileFormat.getInstance()); s.add(CLTransitoireFileFormat.getInstance()); ! formats_ = new FileFormat[s.size()]; s.toArray(formats_); } + public static FileFormat[] getArray(ArrayList _l) { ! FileFormat[] r = new FileFormat[_l.size()]; _l.toArray(r); return r; *************** *** 94,110 **** public FileFormat[] getFileFormatForImportEvol() { ! ArrayList r= new ArrayList(10); ! if (formats_ == null) ! buildFormat(); FileFormat ft; ! for (int i= formats_.length - 1; i >= 0; i--) { ! ft= formats_[i]; if ((ft.getType() == H2dFileFormatType.COURBE_TRANSITOIRE.getId()) ! && (ft.getLastVersionInstance() ! instanceof H2dFileFormatEvolutionVersion)) { r.add(ft); } } ! FileFormat[] rf= new FileFormat[r.size()]; r.toArray(rf); return rf; --- 94,110 ---- public FileFormat[] getFileFormatForImportEvol() { ! ArrayList r = new ArrayList(10); ! if (formats_ == null) ! buildFormat(); FileFormat ft; ! for (int i = formats_.length - 1; i >= 0; i--) { ! ft = formats_[i]; if ((ft.getType() == H2dFileFormatType.COURBE_TRANSITOIRE.getId()) ! && (ft.getLastVersionInstance() ! instanceof H2dFileFormatEvolutionVersion)) { r.add(ft); } } ! FileFormat[] rf = new FileFormat[r.size()]; r.toArray(rf); return rf; *************** *** 112,136 **** public FileFormat[] getFormatWithGridSupport() { ! ArrayList r= new ArrayList(formats_.length); ! for (int i= formats_.length - 1; i >= 0; i--) { ! if (formats_[i].containsGrid()) ! r.add(formats_[i]); } ! FileFormat[] rf= new FileFormat[r.size()]; r.toArray(rf); Arrays.sort(rf); return rf; } /** ! * ! * Renvoie les format du tableau dont le type est egal au parametre ! * ! * <code>_type</code>. ! * */ public static FileFormat[] getFormatWhithType(int _type, FileFormat[] _f) { ! int n= _f.length; ! ArrayList r= new ArrayList(n); ! for (int i= n - 1; i >= 0; i--) { if (_f[i].getType() == _type) { r.add(_f[i]); --- 112,135 ---- public FileFormat[] getFormatWithGridSupport() { ! if (gridFileFormat_ != null) return gridFileFormat_; ! ArrayList r = new ArrayList(formats_.length); ! for (int i = formats_.length - 1; i >= 0; i--) { ! if (formats_[i].containsGrid()) ! r.add(formats_[i]); } ! FileFormat[] rf = new FileFormat[r.size()]; r.toArray(rf); Arrays.sort(rf); + gridFileFormat_ = rf; return rf; } + /** ! * Renvoie les format du tableau dont le type est egal au parametre <code>_type</code>. */ public static FileFormat[] getFormatWhithType(int _type, FileFormat[] _f) { ! int n = _f.length; ! ArrayList r = new ArrayList(n); ! for (int i = n - 1; i >= 0; i--) { if (_f[i].getType() == _type) { r.add(_f[i]); *************** *** 139,148 **** return getArray(r); } public static FileFormat[] getFormatWhithSoftware( ! BuInformationsSoftware _is, ! FileFormat[] _f) { ! int n= _f.length; ! ArrayList r= new ArrayList(n); ! for (int i= n - 1; i >= 0; i--) { if (_f[i].getSoftware() == _is) { r.add(_f[i]); --- 138,148 ---- return getArray(r); } + public static FileFormat[] getFormatWhithSoftware( ! BuInformationsSoftware _is, ! FileFormat[] _f) { ! int n = _f.length; ! ArrayList r = new ArrayList(n); ! for (int i = n - 1; i >= 0; i--) { if (_f[i].getSoftware() == _is) { r.add(_f[i]); *************** *** 151,191 **** return getArray(r); } public FileFormat[] getFormatWithType(int _type) { return getFormatWhithType(_type, formats_); } public FileFormat[] getFormatWhithSoftware(BuInformationsSoftware _is) { return getFormatWhithSoftware(_is, formats_); } /** ! * ! * Construit le menu export a partir des type de donnees rassemblees ! * ! * dans la classe ! * * {@link org.fudaa.dodico.h2d.type.H2dFileFormatType H2dFileFormatType}. - * */ public void buildExportMenu(BuMenu _m, TrImplementation _impl) { ! List l= new ArrayList(H2dFileFormatType.LIST); Collections.sort(l, new DodicoEnumType.H2dEnumIDComparator()); ! int n= l.size(); //on recupere les fileformat dans l'ordre des id ! for (int i= 0; i < n; i++) { ! H2dFileFormatType ft= (H2dFileFormatType)l.get(i); ! if (ft == null) ! continue; ! FileFormat[] fts= getFormatWithType(ft.getId()); ! BuMenu me= new BuMenu(ft.getNom(), ft.getNom()); //pour trier ( pas super intelligent ....) ! TreeMap map= new TreeMap(); ! for (int j= 0; j < fts.length; j++) { map.put(fts[j].getName(), fts[j].getID()); } ! for (Iterator it= map.keySet().iterator(); it.hasNext();) { ! String id= (String)it.next(); me.addMenuItem( ! id, ! TrFileFormatManager.EXPORT_PREF + (String)map.get(id), ! _impl); } //TODO : a ameliorer --- 151,189 ---- return getArray(r); } + public FileFormat[] getFormatWithType(int _type) { return getFormatWhithType(_type, formats_); } + public FileFormat[] getFormatWhithSoftware(BuInformationsSoftware _is) { return getFormatWhithSoftware(_is, formats_); } + /** ! * Construit le menu export a partir des type de donnees rassemblees dans la classe * {@link org.fudaa.dodico.h2d.type.H2dFileFormatType H2dFileFormatType}. */ public void buildExportMenu(BuMenu _m, TrImplementation _impl) { ! List l = new ArrayList(H2dFileFormatType.LIST); Collections.sort(l, new DodicoEnumType.H2dEnumIDComparator()); ! int n = l.size(); //on recupere les fileformat dans l'ordre des id ! for (int i = 0; i < n; i++) { ! H2dFileFormatType ft = (H2dFileFormatType) l.get(i); ! if (ft == null) ! continue; ! FileFormat[] fts = getFormatWithType(ft.getId()); ! BuMenu me = new BuMenu(ft.getNom(), ft.getNom()); //pour trier ( pas super intelligent ....) ! TreeMap map = new TreeMap(); ! for (int j = 0; j < fts.length; j++) { map.put(fts[j].getName(), fts[j].getID()); } ! for (Iterator it = map.keySet().iterator(); it.hasNext();) { ! String id = (String) it.next(); me.addMenuItem( ! id, ! TrFileFormatManager.EXPORT_PREF + (String) map.get(id), ! _impl); } //TODO : a ameliorer *************** *** 193,205 **** } } public void buildImportMenu(BuMenu _m, TrImplementation _impl) { ! BuMenu m= ! new BuMenu( ! H2dFileFormatType.COURBE_TRANSITOIRE.getNom(), ! CtuluLib.getString(H2dFileFormatType.COURBE_TRANSITOIRE.getId())); ! FileFormat[] ft= getFileFormatForImportEvol(); Arrays.sort(ft); ! int n= ft.length; ! for (int i= 0; i < n; i++) { m.addMenuItem(ft[i].getName(), IMPORT_PREF + ft[i].getID(), _impl); } --- 191,204 ---- } } + public void buildImportMenu(BuMenu _m, TrImplementation _impl) { ! BuMenu m = ! new BuMenu( ! H2dFileFormatType.COURBE_TRANSITOIRE.getNom(), ! CtuluLib.getString(H2dFileFormatType.COURBE_TRANSITOIRE.getId())); ! FileFormat[] ft = getFileFormatForImportEvol(); Arrays.sort(ft); ! int n = ft.length; ! for (int i = 0; i < n; i++) { m.addMenuItem(ft[i].getName(), IMPORT_PREF + ft[i].getID(), _impl); } *************** *** 208,223 **** public JMenuItem getMenuImportCourbeTrans(TrImplementation _impl) { ! BuMenu m= (BuMenu)_impl.getMainMenuBar().getMenu("IMPORTER"); ! if (m == null) ! return null; ! String actCmd= ! CtuluLib.getString(H2dFileFormatType.COURBE_TRANSITOIRE.getId()); ! for (int i= m.getItemCount() - 1; i >= 0; i--) { ! JMenuItem it= m.getItem(i); ! if (actCmd.equals(it.getActionCommand())) ! return it; } return null; } } \ No newline at end of file --- 207,247 ---- public JMenuItem getMenuImportCourbeTrans(TrImplementation _impl) { ! BuMenu m = (BuMenu) _impl.getMainMenuBar().getMenu("IMPORTER"); ! if (m == null) ! return null; ! String actCmd = ! CtuluLib.getString(H2dFileFormatType.COURBE_TRANSITOIRE.getId()); ! for (int i = m.getItemCount() - 1; i >= 0; i--) { ! JMenuItem it = m.getItem(i); ! if (actCmd.equals(it.getActionCommand())) ! return it; } return null; } + /** + * @param _file + * @return + */ + public FileFormat isGridExtension(String _file) { + getFormatWithGridSupport(); + return FudaaLib.guessFormat(_file, Arrays.asList(gridFileFormat_)); + } + + /** + * @param _file + * @return + */ + public boolean isCasFile(String _file) { + return ("cas".equals(_file)) || _file.endsWith(".cas") + || (_file.startsWith("cas") && (_file.indexOf('.') < 0)); + } + + /** + * @param _file + * @return + */ + public boolean isRefluxFile(String _file) { + return _file.endsWith(".inp"); + } } \ No newline at end of file --- TrCodePanel.java DELETED --- |