From: <had...@us...> - 2008-09-26 09:28:53
|
Revision: 3988 http://fudaa.svn.sourceforge.net/fudaa/?rev=3988&view=rev Author: hadouxad Date: 2008-09-26 09:28:40 +0000 (Fri, 26 Sep 2008) Log Message: ----------- import/export de graphes Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluExportDataInterface.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFileChooserCsvExcel.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCsvWriter.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluTableExcelWriter.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/ScopeStructure.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGExportData.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGExporter.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeImporter.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFileChooserWriter.java branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluWriter.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaWriterScopeS.java Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluExportDataInterface.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluExportDataInterface.java 2008-09-25 20:31:07 UTC (rev 3987) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluExportDataInterface.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -9,6 +9,7 @@ + /** * Une interface permettant de reconnaitre les internal frames qui ont des donn\xE9es \xE0 exporter. * @author Fred Deniger @@ -31,5 +32,7 @@ * @param _impl l'impl parent. */ void startExport(CtuluUI _impl); + + } Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFileChooserCsvExcel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFileChooserCsvExcel.java 2008-09-25 20:31:07 UTC (rev 3987) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFileChooserCsvExcel.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -11,13 +11,13 @@ import javax.swing.JFileChooser; -import com.memoire.bu.BuFileFilter; -import com.memoire.bu.BuResource; - import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.CtuluUI; +import com.memoire.bu.BuFileFilter; +import com.memoire.bu.BuResource; + /** * @author Fred Deniger * @version $Id: CtuluFileChooserCsvExcel.java,v 1.6 2007-06-14 11:58:18 deniger Exp $ @@ -28,6 +28,8 @@ final BuFileFilter ftXsl_; + + final CtuluUI ui_; public CtuluFileChooserCsvExcel(CtuluUI _ui) { @@ -60,12 +62,21 @@ return null; } File f = getSelectedFile(); + + + completeExtension(f); + + + return f; + } + + private void completeExtension(File f){ final javax.swing.filechooser.FileFilter filter = getFileFilter(); final String name = f.getName(); if (name.indexOf('.') < 0) { f = new File(f.getAbsolutePath() + (filter == ftXsl_ ? ".xls" : ".txt")); } - return f; } + } \ No newline at end of file Added: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFileChooserWriter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFileChooserWriter.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFileChooserWriter.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -0,0 +1,82 @@ +package org.fudaa.ctulu.gui; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.JFileChooser; + +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.CtuluUI; + +import com.memoire.bu.BuResource; + +/** + * Chooser G\xE9n\xE9rique qui complete tous les formats en ajoutant les interfaces + * CtuluWriter appropri\xE9es. + * + * @author Adrien Hadoux + * + */ +public class CtuluFileChooserWriter extends CtuluFileChooser { + + + + final List<CtuluWriter> listWriter_; + final CtuluUI ui_; + + public CtuluFileChooserWriter(CtuluUI _ui, final List<CtuluWriter> _listWriter) { + + ui_ = _ui; + + if(_listWriter!=null) + listWriter_ = _listWriter; + else{ + // -- on ajoute par defaut les import export csv et excel --// + listWriter_=new ArrayList<CtuluWriter>(); + listWriter_.add(new CtuluTableExcelWriter()); + listWriter_.add(new CtuluTableCsvWriter()); + } + for (CtuluWriter writer : listWriter_) { + writer.getFilter().setExtensionListInDescription(true); + addChoosableFileFilter(writer.getFilter()); + } + setDialogType(JFileChooser.SAVE_DIALOG); + setApproveButtonToolTipText(CtuluLib.getS("L'extension du fichier sera automatiquement compl\xE9t\xE9e")); + CtuluFileChooserTestWritable tester = new CtuluFileChooserTestWritable(_ui); + tester.setAppendExtension(true, null); + setTester(tester); + + + } + + /** + * retourne le writter selectionn\xE9 + * + * @return + */ + public CtuluWriter getSelectedWriter() { + for (CtuluWriter writer : listWriter_) + if (writer.getFilter() == getFileFilter()) + return writer; + return null; + } + + public File getDestFile() { + final int res = showDialog(ui_.getParentComponent(), BuResource.BU.getString("Continuer")); + if (res != JFileChooser.APPROVE_OPTION) { + return null; + } + File f = getSelectedFile(); + + + + return completeExtension(f); + } + + private File completeExtension(File f) { + f = new File(f.getAbsolutePath() + getSelectedWriter().getMostPopularExtension()); + return f; + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCsvWriter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCsvWriter.java 2008-09-25 20:31:07 UTC (rev 3987) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCsvWriter.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -7,23 +7,27 @@ */ package org.fudaa.ctulu.gui; +import java.io.File; import java.io.IOException; import org.fudaa.ctulu.CsvWriter; import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.ctulu.ProgressionUpdater; +import com.memoire.bu.BuFileFilter; + /** * @author Fred Deniger * @version $Id: CtuluTableCsvWriter.java,v 1.5 2007-03-30 15:35:20 deniger Exp $ */ -public class CtuluTableCsvWriter { +public class CtuluTableCsvWriter implements CtuluWriter { CtuluTableModelInterface table_; CsvWriter w_; boolean writeHeader_ = true; - + BuFileFilter ftCsv_ = new BuFileFilter(new String[] { "txt", "csv" }, CtuluResource.CTULU.getString("Texte CSV")); /** * @param _w * @param _table @@ -34,6 +38,10 @@ w_.setSepChar(';'); table_ = _table; } + + public CtuluTableCsvWriter() { + super(); + } public void write(final ProgressionInterface _prog) throws IOException { try { @@ -77,4 +85,33 @@ writeHeader_ = _writeHeader; } + public BuFileFilter getFilter() { + return ftCsv_; + } + + public void setFile(File _f) { + CsvWriter c; + try { + c = new CsvWriter(_f); + w_ = c; + w_.setSepChar(';'); + } catch (IOException e) { + e.printStackTrace(); + } + + } + + public void setModel(CtuluTableModelInterface _model) { + table_ = _model; + } + + String extension_ = ".txt"; + public String getMostPopularExtension() { + return extension_; + } + + public boolean allowFormatData() { + return true; + } + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluTableExcelWriter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluTableExcelWriter.java 2008-09-25 20:31:07 UTC (rev 3987) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluTableExcelWriter.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -24,11 +24,13 @@ import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.ctulu.ProgressionUpdater; +import com.memoire.bu.BuFileFilter; + /** * @author Fred Deniger * @version $Id: CtuluTableExcelWriter.java,v 1.7 2007-04-16 16:33:53 deniger Exp $ */ -public class CtuluTableExcelWriter { +public class CtuluTableExcelWriter implements CtuluWriter { CtuluTableModelInterface table_; @@ -44,6 +46,10 @@ dest_ = _dest; } + public CtuluTableExcelWriter() { + super(); + } + /** * @param _p le receveur de l'avancement * @throws IOException @@ -94,4 +100,28 @@ } } + + BuFileFilter ftXsl_ = new BuFileFilter(new String[] { "xls" }, CtuluResource.CTULU.getString("Fichier excel")); + + public BuFileFilter getFilter() { + return ftXsl_; + } + + public void setFile(File f) { + dest_ = f; + } + + public void setModel(CtuluTableModelInterface _model) { + table_ = _model; + } + + String extension_ = ".xls"; + public String getMostPopularExtension() { + return extension_; + } + + public boolean allowFormatData() { + return true; + } + } \ No newline at end of file Added: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluWriter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluWriter.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluWriter.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -0,0 +1,66 @@ +package org.fudaa.ctulu.gui; + +import java.io.File; +import java.io.IOException; + +import jxl.write.WriteException; + +import org.fudaa.ctulu.ProgressionInterface; + +import com.memoire.bu.BuFileFilter; + +/** + * interface qui gere l'export dans les formats donn\xE9s + * + * @author Adrien Hadoux + * + */ +public interface CtuluWriter { + + /** + * indique le fichier ou ecrire les donn\xE9es + * + * @param f + */ + public void setFile(File f); + + + /** + * g\xE9n\xE8re le fichier en \xE9crivant le model de donn\xE9es. + * + * @param _p + * @throws IOException + * @throws WriteException + */ + public void write(final ProgressionInterface _p) throws IOException, WriteException; + + /** + * r\xE9cup\xE8re les filtres g\xE9r\xE9s par le writer + * + * @return + */ + public BuFileFilter getFilter(); + + /** + * ins\xE8re le mod\xE8le de donn\xE9es. + * + * @param model + */ + public void setModel(CtuluTableModelInterface model); + + + /** + * donne l'extension de fichier la plus fr\xE9quente. + * + * @return + */ + public String getMostPopularExtension(); + + /** + * indique si le wizard peut proposer des formattages de donnees. + * + * @return + */ + public boolean allowFormatData(); + +} Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/ScopeStructure.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/ScopeStructure.java 2008-09-25 20:31:07 UTC (rev 3987) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/ScopeStructure.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -16,9 +16,10 @@ public final static ScopeKeyWord KEY = new ScopeKeyWord(); public abstract void printResults(); - + /** - * Structure pour les fichiers s ou t + * Structure pour les fichiers s ou t Par convention les x sont les premieres + * variables. * * @author Adrien * @@ -64,6 +65,27 @@ } /** + * Recupere la liste des x. Par convention les x sont les premieres + * variables. + * + * @return + */ + public List<Double> getAllX() { + return data_.get(listeVariales_.get(0)); + } + + + /** + * retourne un x sp\xE9cifi\xE9. + * + * @param i + * @return + */ + public double getX(int i) { + return getAllX().get(i); + } + + /** * Retourne le nombre de valeur pour chaque variables * * @return Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGExportData.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGExportData.java 2008-09-25 20:31:07 UTC (rev 3987) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGExportData.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -15,8 +15,6 @@ import jxl.write.Number; import jxl.write.WritableCell; -import com.memoire.bu.BuTask; - import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.ProgressionInterface; @@ -161,6 +159,9 @@ EGCourbe[] cs_; EGGraphe g_; + + + int maxCol_; int maxLine_; @@ -168,7 +169,15 @@ cs_ = _cs; g_ = _g; } + + public EGCourbe[] getCourbes() { + return cs_; + } + public EGGraphe getGraphe() { + return g_; + } + public String getColumnName(final int _i) { return column_[_i]; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGExporter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGExporter.java 2008-09-25 20:31:07 UTC (rev 3987) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGExporter.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -27,15 +27,6 @@ import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; -import com.memoire.bu.BuBorders; -import com.memoire.bu.BuCheckBox; -import com.memoire.bu.BuList; -import com.memoire.bu.BuPanel; -import com.memoire.bu.BuScrollPane; -import com.memoire.bu.BuVerticalLayout; -import com.memoire.fu.FuLog; - -import org.fudaa.ctulu.CsvWriter; import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluResource; @@ -44,14 +35,20 @@ import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.ctulu.gui.CtuluCellTextRenderer; import org.fudaa.ctulu.gui.CtuluDialogPanel; -import org.fudaa.ctulu.gui.CtuluFileChooserCsvExcel; +import org.fudaa.ctulu.gui.CtuluFileChooserWriter; import org.fudaa.ctulu.gui.CtuluLibDialog; import org.fudaa.ctulu.gui.CtuluLibSwing; -import org.fudaa.ctulu.gui.CtuluTableCsvWriter; -import org.fudaa.ctulu.gui.CtuluTableExcelWriter; - +import org.fudaa.ctulu.gui.CtuluWriter; import org.fudaa.ebli.commun.EbliLib; +import com.memoire.bu.BuBorders; +import com.memoire.bu.BuCheckBox; +import com.memoire.bu.BuList; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuScrollPane; +import com.memoire.bu.BuVerticalLayout; +import com.memoire.fu.FuLog; + /** * @author Fred Deniger * @version $Id: EGExporter.java,v 1.19 2007-06-14 12:00:22 deniger Exp $ @@ -66,9 +63,11 @@ } } - public static void startExport(final EGGraphe _target, final CtuluUI _impl) { + public static void startExport(final EGGraphe _target, final CtuluUI _impl, final List<CtuluWriter> _listWriter) { - final CtuluFileChooserCsvExcel ch = new CtuluFileChooserCsvExcel(_impl); + + + final CtuluFileChooserWriter ch = new CtuluFileChooserWriter(_impl, _listWriter); final Frame f = CtuluLibSwing.getFrameAncestorHelper(_impl.getParentComponent()); final File destFile = ch.getDestFile(); if (destFile == null) { @@ -87,14 +86,14 @@ .getS("Aucune donn\xE9e \xE0 exporter")); } try { - if (ch.isExcelChoosen()) { - final CtuluTableExcelWriter c = new CtuluTableExcelWriter(d, destFile); - c.write(_proj); - } else { - final CsvWriter c = new CsvWriter(destFile); - final CtuluTableCsvWriter w = new CtuluTableCsvWriter(c, d); - w.write(_proj); - } + // -- recuperation du writer + CtuluWriter writer=ch.getSelectedWriter(); + + writer.setFile(destFile); + writer.setModel(d); + writer.write(_proj); + + } catch (final Exception _e) { FuLog.error(_e); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFille.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFille.java 2008-09-25 20:31:07 UTC (rev 3987) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFille.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -22,8 +22,6 @@ import javax.swing.JMenu; import javax.swing.SwingUtilities; -import com.memoire.bu.*; - import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluExportDataInterface; import org.fudaa.ctulu.CtuluLibString; @@ -33,7 +31,6 @@ import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.ctulu.gui.CtuluPopupListener; import org.fudaa.ctulu.image.CtuluImageProducer; - import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.commun.EbliActionPaletteAbstract; import org.fudaa.ebli.commun.EbliComponentFactory; @@ -41,6 +38,17 @@ import org.fudaa.ebli.impression.EbliFilleImprimable; import org.fudaa.ebli.impression.EbliPrinter; +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuCommonInterface; +import com.memoire.bu.BuCutCopyPasteInterface; +import com.memoire.bu.BuDesktop; +import com.memoire.bu.BuInformationsDocument; +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuMenu; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuSplit2Pane; +import com.memoire.bu.BuUndoRedoInterface; + /** * @author Fred Deniger * @version $Id: EGFille.java,v 1.26 2007-06-28 09:26:47 deniger Exp $ @@ -78,7 +86,8 @@ } public void startExport(final CtuluUI _impl) { - EGExporter.startExport(getGraphe(), _impl); + + EGExporter.startExport(getGraphe(), _impl, null); } /** Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeImporter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeImporter.java 2008-09-25 20:31:07 UTC (rev 3987) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeImporter.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -11,6 +11,7 @@ import java.io.File; import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import java.util.Map; import javax.swing.filechooser.FileFilter; @@ -26,6 +27,9 @@ import org.fudaa.ctulu.gui.CtuluDialogPanel; import org.fudaa.ctulu.gui.CtuluFileChooser; import org.fudaa.ctulu.gui.CtuluLibSwing; +import org.fudaa.ctulu.gui.CtuluTableCsvWriter; +import org.fudaa.ctulu.gui.CtuluTableExcelWriter; +import org.fudaa.ctulu.gui.CtuluWriter; import org.fudaa.ctulu.gui.CtuluTaskOperationGUI; import org.fudaa.dodico.mesure.EvolutionFileFormat; import org.fudaa.dodico.mesure.EvolutionFileFormatVersion; @@ -130,7 +134,7 @@ } public void actionPerformed(final ActionEvent _e) { - EGExporter.startExport(graphe_, impl_); + EGExporter.startExport(graphe_, impl_, getFileFormatForExport()); } } @@ -196,4 +200,23 @@ return rf; } + + /** + * Methode statique qui retourne les writer possible pour l exportation des + * courbes + * + * @return + */ + public static List<CtuluWriter> getFileFormatForExport() { + final ArrayList<CtuluWriter> liste = new ArrayList<CtuluWriter>(10); + + liste.add(new CtuluTableExcelWriter()); + liste.add(new CtuluTableCsvWriter()); + + // --ajout des formats scope --// + liste.add(new FudaaWriterScopeS()); + + return liste; + } + } Added: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaWriterScopeS.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaWriterScopeS.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaWriterScopeS.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -0,0 +1,124 @@ +package org.fudaa.fudaa.commun.courbe; + +import java.io.File; +import java.io.IOException; + +import jxl.write.WriteException; + +import org.fudaa.ctulu.ProgressionInterface; +import org.fudaa.ctulu.gui.CtuluTableModelInterface; +import org.fudaa.ctulu.gui.CtuluWriter; +import org.fudaa.dodico.telemac.io.ScopeSFileFormat; +import org.fudaa.dodico.telemac.io.ScopeStructure; +import org.fudaa.ebli.courbe.EGAxeHorizontal; +import org.fudaa.ebli.courbe.EGCourbe; +import org.fudaa.ebli.courbe.EGCourbeChild; +import org.fudaa.ebli.courbe.EGExportData; +import org.fudaa.ebli.courbe.EGGraphe; +import org.fudaa.ebli.courbe.EGGroup; +import org.fudaa.ebli.courbe.EGObject; + +import com.memoire.bu.BuFileFilter; + +public class FudaaWriterScopeS implements CtuluWriter { + + ScopeSFileFormat format_; + File destination_; + ScopeStructure.SorT structure_; + String extension_ = ".scopS"; + BuFileFilter filter_; + + + public FudaaWriterScopeS(){ + format_ = ScopeSFileFormat.getInstance(); + filter_ = format_.createFileFilter(); + + } + + public BuFileFilter getFilter() { + return filter_; + } + + public String getMostPopularExtension() { + return extension_; + } + + public void setFile(File _f) { + destination_ = _f; + + } + + public void setModel(CtuluTableModelInterface _model) { + + structure_ = new ScopeStructure.SorT(); + + //-- data qui contient les courbes choisies --// + EGExportData data = (EGExportData) _model; + EGGraphe graphe_ = data.getGraphe(); + EGCourbe[] liste=data.getCourbes(); + + //-- on ajoute la var des x, debut de chaque ligne de valeurs --// + structure_.addVariable("X"); + //--on ajoute tous les x donn\xE9s de la courbe--// + + + final EGAxeHorizontal h = graphe_.getTransformer().getXAxe(); + for (int i = liste.length - 1; i >= 0; i--) { + final EGCourbe c = liste[i]; + for (int j = c.getModel().getNbValues() - 1; j >= 0; j--) { + final double x = c.getModel().getX(j); + if ( (h.containsPoint(x))) { + //-- on ajoute le x pour les variables x --// + structure_.addValueForVariable(x,0); + } + } + } + + + for (int i = 0; i < graphe_.getModel().getNbEGObject(); i++) { + final EGObject ci = graphe_.getModel().getEGObject(i); + if (ci instanceof EGGroup) { + EGGroup groupe = (EGGroup) ci; + + structure_.addVariable(groupe.getTitle()); + + for (int k = 0; k < groupe.getChildCount(); k++) { + EGCourbeChild courbe = groupe.getCourbeAt(k); + + boolean selected = false; + for (int j = 0; !selected && j < liste.length; j++) + if (liste[j] == courbe) + selected = true; + + if (selected) { + // --ajout des valeurs pour chaque X--/ + for (int g = 0; g < structure_.getAllX().size(); g++) { + //-- on ajoute la valeur interpol\xE9e pour les x pr\xE9cemment saisis --// + double x = structure_.getX(g); + double yInterpole = courbe.interpol(x); + structure_.addValueForVariable(yInterpole, structure_.getNbVariables() - 1); + } + + } + } + + + + } + + } + + + + } + + public void write(ProgressionInterface _p) throws IOException, WriteException { + format_.getLastVersionInstance(null).write(destination_, structure_, null); + + } + + public boolean allowFormatData() { + return true; + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java 2008-09-25 20:31:07 UTC (rev 3987) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java 2008-09-26 09:28:40 UTC (rev 3988) @@ -45,10 +45,6 @@ import javax.swing.plaf.InternalFrameUI; import javax.swing.plaf.basic.BasicInternalFrameUI; -import com.memoire.bu.*; -import com.memoire.fu.Fu; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluExportDataInterface; import org.fudaa.ctulu.CtuluIOOperationSynthese; @@ -65,12 +61,10 @@ import org.fudaa.ctulu.gui.CtuluTaskOperationGUI; import org.fudaa.ctulu.image.CtuluImageExport; import org.fudaa.ctulu.image.CtuluImageProducer; - import org.fudaa.ebli.impression.EbliFillePrevisualisation; import org.fudaa.ebli.impression.EbliMiseEnPageDialog; import org.fudaa.ebli.impression.EbliMiseEnPagePreferencesPanel; import org.fudaa.ebli.impression.EbliPageable; - import org.fudaa.fudaa.commun.FudaaAstuces; import org.fudaa.fudaa.commun.FudaaAstucesAbstract; import org.fudaa.fudaa.commun.FudaaBrowserControl; @@ -83,6 +77,35 @@ import org.fudaa.fudaa.commun.undo.FudaaUndoCmdMngListener; import org.fudaa.fudaa.ressource.FudaaResource; +import com.memoire.bu.BuAbstractPreferencesPanel; +import com.memoire.bu.BuBrowserPreferencesPanel; +import com.memoire.bu.BuButton; +import com.memoire.bu.BuColumn; +import com.memoire.bu.BuCommonImplementation; +import com.memoire.bu.BuDesktopPreferencesPanel; +import com.memoire.bu.BuDialogWarning; +import com.memoire.bu.BuGlassPaneStop; +import com.memoire.bu.BuInformationsSoftware; +import com.memoire.bu.BuInsets; +import com.memoire.bu.BuLanguagePreferencesPanel; +import com.memoire.bu.BuLib; +import com.memoire.bu.BuLookPreferencesPanel; +import com.memoire.bu.BuMainPanel; +import com.memoire.bu.BuMenu; +import com.memoire.bu.BuMenuBar; +import com.memoire.bu.BuMenuInterface; +import com.memoire.bu.BuMenuItem; +import com.memoire.bu.BuPreferences; +import com.memoire.bu.BuPreferencesDialog; +import com.memoire.bu.BuPreferencesMainPanel; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuTask; +import com.memoire.bu.BuToolBar; +import com.memoire.bu.BuToolButton; +import com.memoire.bu.BuUserPreferencesPanel; +import com.memoire.fu.Fu; +import com.memoire.fu.FuLog; + /** * @author deniger * @version $Id: FudaaCommonImplementation.java,v 1.10 2007-06-11 13:08:24 deniger Exp $ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |