From: <had...@us...> - 2009-02-19 20:11:56
|
Revision: 4488 http://fudaa.svn.sourceforge.net/fudaa/?rev=4488&view=rev Author: hadouxad Date: 2009-02-19 20:11:45 +0000 (Thu, 19 Feb 2009) Log Message: ----------- # am?\195?\169lioration du viewer pdf + zoom + d?\195?\169tachement fenetre externe # gestion des marqueurs horizontaux # Corrections des bugs fournis # D?\195?\169coupage de la documentation de fudaa post Fichier openoffice refondu et mis a jour: il y a un gros fichier par r?\195?\169pertoire et les sous fichier qui d?\195?\169coupe en partie le doc sont des copier coll?\195?\169 du doc. # Possibilit?\195?\169 d'?\195?\169diter les axes et unit?\195?\169s de la courbe via l'ihm d'?\195?\169dition des graduations Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/pdf/CtuluPanelPdfViewer.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/mesure/EvolutionReguliere.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/EGAxeRepereConfigurator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeConfigureTarget.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/trace/TraceBox.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeWizardImportScope.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/ScopeCourbeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbe.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/ScopCourbeTreeModel.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions basiques de la Frame.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions basiques de la Frame.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions du Layout.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions du Layout.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions sp?\195?\169cifiques de la Frame.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions sp?\195?\169cifiques de la Frame.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Aide du logiciel.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Aide du logiciel.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Animations.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Animations.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant format SCOP.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant format SCOP.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant profils spatiaux.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant profils spatiaux.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant ?\195?\169volutions temporelles.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant ?\195?\169volutions temporelles.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Caclul trajectoires.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Caclul trajectoires.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Bilans.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Bilans.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Cubatures.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Cubatures.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Courbes 1D (Commun).odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Courbes 1D (Commun).pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Donn?\195?\169es g?\195?\169ographiques.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Donn?\195?\169es g?\195?\169ographiques.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Editeur texte.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Editeur texte.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation PDF et images.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation PDF et images.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation SCOP.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation SCOP.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de graphes.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de graphes.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de vues 2d.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de vues 2d.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Grilles graphe.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Grilles graphe.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Interface POST.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Interface POST.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Frames.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Frames.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Grilles des vues 2d.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Grilles des vues 2d.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Variables.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Variables.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les calques.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les calques.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les vues 2d (commun).odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les vues 2d (commun).pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire construction courbes.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire construction courbes.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire des vues 2d.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire des vues 2d.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rechercher dans vue 2d.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rechercher dans vue 2d.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rejouer donn?\195?\169es courbes.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rejouer donn?\195?\169es courbes.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-graphes.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-graphes.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-vue 2d.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-vue 2d.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Suites de calcul.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Suites de calcul.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Superviseur et fichiers r?\195?\169sultats.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Superviseur et fichiers r?\195?\169sultats.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Syst?\195?\168me de sauvegarde.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Syst?\195?\168me de sauvegarde.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Utilisation des formules.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Utilisation des formules.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/principales fonctionnalit?\195?\169s.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/principales fonctionnalit?\195?\169s.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Donn?\195?\169es g?\195?\169ographiques.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Editeur de projet hydraulique.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Editeur de projet hydraulique.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Exporter les donn?\195?\169es de la Vue 2D.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Exporter les donn?\195?\169es de la Vue 2D.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Gestion des courbes 1D (Commun).odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Gestion des courbes 1D (Commun).pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Int?\195?\169gration en temps.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Int?\195?\169gration en temps.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions initiales.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions initiales.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions limites.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions limites.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Propri?\195?\169t?\195?\169s de fond.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Propri?\195?\169t?\195?\169s de fond.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Superviseur.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Superviseur.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Utilisation des formules (Commun).odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Utilisation des formules (Commun).pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D (Commun).odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D (Commun).pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D Les outils d'?\195?\169dition.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D Les outils d'?\195?\169dition.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/recherche dans la Vue 2D.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/recherche dans la Vue 2D.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/reflux.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/reflux.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Conditions limites.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Donn?\195?\169es brutes.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Donn?\195?\169es brutes.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Editeur de projet Hydraulique.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Editeur de projet hydraulique.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Exporter les donn?\195?\169es de la Vue 2D.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Gestion des courbes 1D (Commun).pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Les conditions limites.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Les ouvrages.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Les ouvrages.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Limnigrammes.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Limnigrammes.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Param?\195?\168tres g?\195?\169n?\195?\169raux.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Param?\195?\168tres g?\195?\169n?\195?\169raux.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/Superviseur.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/recherche dans la Vue 2D.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/rubar.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/rubar.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Conditions initiales.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Conditions initiales.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Conditions limites.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Conditions limites.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Cr?\195?\169ation Projet TELEMAC.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Cr?\195?\169ation Projet TELEMAC.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Editeur de projet hydraulique.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Editeur de projet hydraulique.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Exporter les donn?\195?\169es de la Vue 2D.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Gestion des courbes 1D (Commun).pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Les conditions limites.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Les seuils.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Les seuils.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Les siphons.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Les siphons.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Les sources.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Les sources.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Param?\195?\168tres Nodaux.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Param?\195?\168tres Nodaux.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/Superviseur.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/recherche dans la Vue 2D.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/telemac.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/telemac.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/ branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/post/ branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/post/post_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/post/post_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/reflux/ branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/reflux/howTo_reflux_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/reflux/howTo_reflux_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/reflux/reflux_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/reflux/reflux_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/rubar/ branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/rubar/howTo_rubar_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/rubar/howTo_rubar_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/rubar/rubar_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/rubar/rubar_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/telemac/ branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/telemac/howTo_telemac_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/telemac/howTo_telemac_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/telemac/telemac_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf_eng/telemac/telemac_en.pdf branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/image/CtuluPdfPsExport.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post_fr.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post_fr.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/howTo_reflux_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/howTo_reflux_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/howTo_reflux_fr.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/howTo_reflux_fr.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/reflux_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/reflux_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/reflux_fr.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/reflux_fr.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/howTo_rubar_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/howTo_rubar_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/howTo_rubar_fr.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/howTo_rubar_fr.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/rubar_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/rubar_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/rubar_fr.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/rubar/rubar_fr.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/howTo_telemac_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/howTo_telemac_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/howTo_telemac_fr.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/howTo_telemac_fr.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/telemac_en.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/telemac_en.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/telemac_fr.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/telemac/telemac_fr.pdf Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions basiques de la Frame.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions basiques de la Frame.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions basiques de la Frame.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions basiques de la Frame.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions du Layout.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions du Layout.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions du Layout.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions du Layout.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions sp?\195?\169cifiques de la Frame.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions sp?\195?\169cifiques de la Frame.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions sp?\195?\169cifiques de la Frame.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Actions sp?\195?\169cifiques de la Frame.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Aide du logiciel.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Aide du logiciel.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Aide du logiciel.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Aide du logiciel.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Animations.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Animations.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Animations.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Animations.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant format SCOP.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant format SCOP.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant format SCOP.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant format SCOP.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant profils spatiaux.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant profils spatiaux.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant profils spatiaux.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant profils spatiaux.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant ?\195?\169volutions temporelles.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant ?\195?\169volutions temporelles.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant ?\195?\169volutions temporelles.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Assistant ?\195?\169volutions temporelles.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Caclul trajectoires.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Caclul trajectoires.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Caclul trajectoires.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Caclul trajectoires.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Bilans.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Bilans.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Bilans.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Bilans.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Cubatures.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Cubatures.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Cubatures.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Calcul Cubatures.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Courbes 1D (Commun).odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Courbes 1D (Commun).odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Courbes 1D (Commun).pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Courbes 1D (Commun).pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Donn?\195?\169es g?\195?\169ographiques.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Donn?\195?\169es g?\195?\169ographiques.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Donn?\195?\169es g?\195?\169ographiques.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Donn?\195?\169es g?\195?\169ographiques.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Editeur texte.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Editeur texte.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Editeur texte.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Editeur texte.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation PDF et images.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation PDF et images.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation PDF et images.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation PDF et images.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation SCOP.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation SCOP.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation SCOP.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Exportation SCOP.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de graphes.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de graphes.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de graphes.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de graphes.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de vues 2d.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de vues 2d.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de vues 2d.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Fusion de vues 2d.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Grilles graphe.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Grilles graphe.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Grilles graphe.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Grilles graphe.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Interface POST.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Interface POST.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Interface POST.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Interface POST.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Frames.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Frames.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Frames.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Frames.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Grilles des vues 2d.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Grilles des vues 2d.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Grilles des vues 2d.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Grilles des vues 2d.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Variables.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Variables.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Variables.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les Variables.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les calques.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les calques.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les calques.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les calques.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les vues 2d (commun).odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les vues 2d (commun).odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les vues 2d (commun).pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les vues 2d (commun).pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire construction courbes.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire construction courbes.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire construction courbes.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire construction courbes.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire des vues 2d.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire des vues 2d.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire des vues 2d.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/M?\195?\169moire des vues 2d.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rechercher dans vue 2d.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rechercher dans vue 2d.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rechercher dans vue 2d.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rechercher dans vue 2d.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rejouer donn?\195?\169es courbes.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rejouer donn?\195?\169es courbes.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rejouer donn?\195?\169es courbes.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Rejouer donn?\195?\169es courbes.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-graphes.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-graphes.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-graphes.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-graphes.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-vue 2d.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-vue 2d.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-vue 2d.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Sondes multi-vue 2d.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Suites de calcul.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Suites de calcul.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Suites de calcul.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Suites de calcul.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Superviseur et fichiers r?\195?\169sultats.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Superviseur et fichiers r?\195?\169sultats.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Superviseur et fichiers r?\195?\169sultats.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Superviseur et fichiers r?\195?\169sultats.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Syst?\195?\168me de sauvegarde.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Syst?\195?\168me de sauvegarde.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Syst?\195?\168me de sauvegarde.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Syst?\195?\168me de sauvegarde.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Utilisation des formules.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Utilisation des formules.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Utilisation des formules.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Utilisation des formules.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post_en.odt =================================================================== (Binary files differ) Deleted: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post_en.pdf =================================================================== (Binary files differ) Deleted: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post_fr.odt =================================================================== (Binary files differ) Deleted: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post_fr.pdf =================================================================== (Binary files differ) Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/principales fonctionnalit?\195?\169s.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/principales fonctionnalit?\195?\169s.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/principales fonctionnalit?\195?\169s.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/principales fonctionnalit?\195?\169s.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Donn?\195?\169es g?\195?\169ographiques.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Donn?\195?\169es g?\195?\169ographiques.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Editeur de projet hydraulique.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Editeur de projet hydraulique.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Editeur de projet hydraulique.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Editeur de projet hydraulique.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Exporter les donn?\195?\169es de la Vue 2D.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Exporter les donn?\195?\169es de la Vue 2D.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Exporter les donn?\195?\169es de la Vue 2D.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Exporter les donn?\195?\169es de la Vue 2D.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Gestion des courbes 1D (Commun).odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Gestion des courbes 1D (Commun).odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Gestion des courbes 1D (Commun).pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Gestion des courbes 1D (Commun).pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Int?\195?\169gration en temps.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Int?\195?\169gration en temps.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Int?\195?\169gration en temps.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Int?\195?\169gration en temps.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions initiales.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions initiales.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions initiales.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions initiales.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions limites.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions limites.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions limites.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Les conditions limites.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Propri?\195?\169t?\195?\169s de fond.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Propri?\195?\169t?\195?\169s de fond.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Propri?\195?\169t?\195?\169s de fond.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Propri?\195?\169t?\195?\169s de fond.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Superviseur.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Superviseur.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Superviseur.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Superviseur.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Utilisation des formules (Commun).odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Utilisation des formules (Commun).odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Utilisation des formules (Commun).pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Utilisation des formules (Commun).pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D (Commun).odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D (Commun).odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D (Commun).pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D (Commun).pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D Les outils d'?\195?\169dition.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D Les outils d'?\195?\169dition.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D Les outils d'?\195?\169dition.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/Vue 2D Les outils d'?\195?\169dition.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/howTo_reflux_en.odt =================================================================== (Binary files differ) Deleted: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/howTo_reflux_en.pdf =================================================================== (Binary files differ) Deleted: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/howTo_reflux_fr.odt =================================================================== (Binary files differ) Deleted: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/howTo_reflux_fr.pdf =================================================================== (Binary files differ) Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/reflux/recherche dans la Vue 2D.odt =================================================================== (Binary files differ) Property changes o... [truncated message content] |
From: <had...@us...> - 2009-02-20 19:27:51
|
Revision: 4489 http://fudaa.svn.sourceforge.net/fudaa/?rev=4489&view=rev Author: hadouxad Date: 2009-02-20 19:27:45 +0000 (Fri, 20 Feb 2009) Log Message: ----------- * Gestion des min et max sans d?\195?\169passer pour les limites x et y des graphes: o conservation des max/min des mod?\195?\168les pour corriger la saisie en cas de d?\195?\169passement o case ?\195?\160 cocher qui r?\195?\169initialise automatiquement au max et min des courbes o dessin du graphe: ne dessinne que ce qui est visible; + pour les points des axes, gestion de l'axe avec sa m?\195?\169thode contains() + pour le trac?\195?\169 des droites, on trace les droites jusqu'aux limites des axes et non plus jusqu'aux points. * Corrections wizard poru sauvegarder projet * int?\195?\169gration de la commande linux Am?\195?\169lioration de la l?\195?\169gende connecteur widget.Pour les fl?\195?\168ches, * la fl?\195?\168che est compos?\195?\169e de 2 extr?\195?\169mit?\195?\169s et d'une widget centrale qui englobe les 2 extr?\195?\169mit?\195?\169s * pour d?\195?\169placer la widget fleche il suffit de deplacer la widget centrale qui englobe, les extr?\195?\169mit?\195?\169s suivent (se sont des sattelites) * on peut d?\195?\169placer les widgets extr?\195?\169mit?\195?\169s car o a chaque d?\195?\169placement elles sont repositionn?\195?\169e en d?\195?\169but de sc?\195?\168ne o cela n'alt?\195?\168re pas l'arbre et son ordre car il y a pas node enregistr?\195?\169 pour ces widgets o elles ont des methodes sp?\195?\169ciales qui permet de reconstruire la dimension de la widget englobant lors du d?\195?\169placement. * LA widget centrale dispose d'un menu popup (les extr?\195?\169mit?\195?\169s non car elles ont un controller sp?\195?\169cifique) * le controlleur de la widget centrale gere les actions sp?\195?\169cifiques : destruction, duplication... * il n' y a que la widget centrale qui est enregistr?\195?\169 aupr?\195?\169s d'un node dans la scene donc seule elle figure et pilote toute la fleche. Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeRepereConfigurator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeConfigureTarget.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/behavior/EbliAlignWithMoveStrategyProvider.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetTreeTableNode.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostPersistenceManager.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/Serial.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeRepereConfigurator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeRepereConfigurator.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeRepereConfigurator.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -15,6 +15,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import javax.swing.Action; @@ -65,9 +66,11 @@ private EGAxeVertical[] axes_; - private BuCheckBox cbBlockHView_; + private BuCheckBox boxChooseUserLimitX_; + private BuCheckBox boxChooserUserLimitY; + private BuCheckBox cbInitialConf_; - private BuCheckBox cbUnblockBlockHView_; + //private BuCheckBox cbUnblockBlockHView_; private BuCheckBox cbUseSameAxe_; private final EGGraphe graphe_; @@ -100,8 +103,14 @@ private BuTextField tfVertSousPas_; EGObject[] targets_; + + private Map mapRangesY_=null; + public EGAxeRepereConfigurator(final EGGraphe _m) { graphe_ = _m; + //-- on recupere les valeurs des y --// + mapRangesY_=graphe_.restoreAllYAxe(); + // si pas configur\xE9 comme attendu if (graphe_.getTransformer().getXAxe() == null) { pnAxeV_ = null; @@ -140,7 +149,12 @@ EbliActionAbstract s = new EbliActionSimple(EbliResource.EBLI.getString("Restaurer"), EbliResource.EBLI .getIcon("restore"), "RESTORE") { public void actionPerformed(ActionEvent _e) { + //-- on reinitialise les mioin/max saisi par l'user --// + _m.setUserXRange(null); _m.restore(); + + + updateAxeHorValue(); } }; s.putValue(Action.SHORT_DESCRIPTION, EbliResource.EBLI.getString("Restaurer la vue globale")); @@ -151,7 +165,7 @@ setTargets(null); EGAxeRepereConfigurator.updateLabelWidth(this); - cbBlockHView_.addKeyListener(this); + } private void buildVPanel(final boolean _removeAll) { @@ -261,6 +275,22 @@ lb.setToolTipText(EbliLib.getS("Borne sup\xE9rieure des axes verticaux")); pnAxeV_.add(lb); pnAxeV_.add(tfVertMax_); + + //--prendre en compte les limites max --// + pnAxeV_.add(new BuLabel()); + if (boxChooserUserLimitY == null) { + boxChooserUserLimitY = new BuCheckBox(EbliLib.getS("Affiche uniquement jusqu'aux limites")); + boxChooserUserLimitY.setToolTipText(EbliLib + .getS("Si s\xE9lectionn\xE9, les donn\xE9es de la courbe ne pourront d\xE9passer les valeurs pr\xE9c\xE9dentes")); + } + pnAxeV_.add(boxChooserUserLimitY); + boxChooserUserLimitY.setSelected(true); + boxChooserUserLimitY.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + apply(); + } + }); + // vertical pas lb = new BuLabel(pasTxt); lb.setToolTipText(tooltipPas); @@ -422,8 +452,12 @@ private void buildHPanel(final boolean _removeAll) { - final String minTxt = EbliLib.getS("Min:"); - final String maxTxt = EbliLib.getS("Max:"); + + double max= graphe_.getXMax(); + double min= graphe_.getXMin(); + + final String minTxt = EbliLib.getS("Min:")+"(>"+min+")"; + final String maxTxt = EbliLib.getS("Max:")+"(<"+max+")"; final String pasTxtGraduation = EbliLib.getS("Nb Graduation:"); final String pasTxtLongueur = EbliLib.getS("Longueur pas:"); final String typePasTxt = EbliLib.getS("Type Graduation:"); @@ -516,6 +550,21 @@ lb.setToolTipText(EbliLib.getS("Borne sup\xE9rieure de l'axe horizontal")); pnAxeH_.add(lb); pnAxeH_.add(tfHorMax_); + + //--prendre en compte les limites max --// + pnAxeH_.add(new BuLabel()); + if (boxChooseUserLimitX_ == null) { + boxChooseUserLimitX_ = new BuCheckBox(EbliLib.getS("Affiche uniquement jusqu'aux limites")); + boxChooseUserLimitX_.setToolTipText(EbliLib + .getS("Si s\xE9lectionn\xE9, les donn\xE9es de la courbe ne pourront d\xE9passer les valeurs pr\xE9c\xE9dentes")); + } + pnAxeH_.add(boxChooseUserLimitX_); + boxChooseUserLimitX_.setSelected(true); + boxChooseUserLimitX_.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + apply(); + } + }); // pas //-- selection du type de graduations @@ -590,21 +639,14 @@ - // bloquer l'\xE9chelle horizontal - pnAxeH_.add(new BuLabel()); - if (cbBlockHView_ == null) { - cbBlockHView_ = new BuCheckBox(EbliLib.getS("Limites maximales")); - cbBlockHView_.setToolTipText(EbliLib - .getS("Si s\xE9lectionn\xE9, les limites de l'axe horizontal ne pourront d\xE9passer les valeurs pr\xE9c\xE9dentes")); - } - // pnAxeH_.add(cbBlockHView_); - pnAxeH_.add(new BuLabel()); + + //pnAxeH_.add(new BuLabel()); // d\xE9bloquer l'echelle horizontal - if (cbUnblockBlockHView_ == null) { - cbUnblockBlockHView_ = new BuCheckBox(EbliLib.getS("Ignorer les limites maximales")); - cbUnblockBlockHView_.setToolTipText(EbliLib - .getS("Si s\xE9lectionn\xE9, les limites maximales ne seront plus prises en compte")); - } +// if (cbUnblockBlockHView_ == null) { +// cbUnblockBlockHView_ = new BuCheckBox(EbliLib.getS("Ignorer les limites maximales")); +// cbUnblockBlockHView_.setToolTipText(EbliLib +// .getS("Si s\xE9lectionn\xE9, les limites maximales ne seront plus prises en compte")); +// } //pnAxeH_.add(cbUnblockBlockHView_); } @@ -613,22 +655,49 @@ final String pas = tfHorPas_.getText().trim(); final String Souspas = tfHorSousPas_.getText().trim(); - final boolean maxEdited = editorH_.isValueValidFromComponent(tfHorMax_); - final boolean minEdited = editorH_.isValueValidFromComponent(tfHorMin_); + final boolean maxEdited = editorH_.isValueValidFromComponent(tfHorMax_) && boxChooseUserLimitX_.isSelected(); + final boolean minEdited = editorH_.isValueValidFromComponent(tfHorMin_) && boxChooseUserLimitX_.isSelected(); boolean pasEdited = pas.length() > 0; if(!pasEdited) pasEdited=Souspas.length()>0; - final double maxVal = maxEdited ? Double.parseDouble(editorH_.getStringValue(tfHorMax_)) : axeH_.getMaximum(); - final double minVal = minEdited ? Double.parseDouble(editorH_.getStringValue(tfHorMin_)) : axeH_.getMinimum(); + double maxVal = maxEdited ? Double.parseDouble(editorH_.getStringValue(tfHorMax_)) : axeH_.getMaximum(); + double minVal = minEdited ? Double.parseDouble(editorH_.getStringValue(tfHorMin_)) : axeH_.getMinimum(); final double pasVal = pasEdited ? Double.parseDouble(pas) : 0; final int souspasVal = (Souspas.length()>0) ? Integer.parseInt(Souspas) : 0; + + + boolean r = false; if(comboHorizontal_.getSelectedIndex()!=-1) axeH_.modeGraduations_=comboHorizontal_.getSelectedIndex(); - if (maxEdited || minEdited || pasEdited) { + if (maxEdited || minEdited || pasEdited || !boxChooseUserLimitX_.isSelected()) { + + //-- si on d\xE9passe le min et max on recadre --// + double maxValueX=graphe_.getXMax(); + if(maxValueX<maxVal) + maxVal=maxValueX; + + double minValueX=graphe_.getXMin(); + if(minValueX>minVal) + minVal=minValueX; + + //-- si les limites ne sont plus selectionnes il faut de nouveau tout prendre --// + if(!boxChooseUserLimitX_.isSelected()){ + maxVal=maxValueX; + minVal=minValueX; + tfHorMax_.setEnabled(false); + tfHorMin_.setEnabled(false); + + }else{ + //-- on libere la saisie des min et max --// + tfHorMax_.setEnabled(true); + tfHorMin_.setEnabled(true); + } + + if (pasEdited) { if(modeGraduationX_==EGAxe.MANUEL_GRADUATIONS || modeGraduationX_==EGAxe.AUTO_GRADUATIONS) r = axeH_.setBounds(minVal, maxVal, (int)pasVal,modeGraduationX_); @@ -668,17 +737,17 @@ } - if (cbBlockHView_.isSelected() && maxEdited && minEdited) { + if ( (maxEdited && minEdited) || !boxChooseUserLimitX_.isSelected()) { final CtuluRange range = new CtuluRange(); range.max_ = maxVal; range.min_ = minVal; graphe_.setUserXRange(range); r = true; } - if (cbUnblockBlockHView_.isEnabled() && cbUnblockBlockHView_.isSelected()) { - graphe_.setUserXRange(null); - r = true; - } +// if (cbUnblockBlockHView_.isEnabled() && cbUnblockBlockHView_.isSelected()) { +// graphe_.setUserXRange(null); +// r = true; +// } String titre=titreAxeHorizontal_.getText(); @@ -714,11 +783,11 @@ boolean minEdited = false; boolean maxEdited = false; if (editorV_ != null) { - minEdited = editorV_.isValueValidFromComponent(tfVertMin_); + minEdited = editorV_.isValueValidFromComponent(tfVertMin_) && boxChooserUserLimitY.isSelected(); if (minEdited) { minVal = Double.parseDouble(editorV_.getStringValue(tfVertMin_)); } - maxEdited = editorV_.isValueValidFromComponent(tfVertMax_); + maxEdited = editorV_.isValueValidFromComponent(tfVertMax_) && boxChooserUserLimitY.isSelected(); if (maxEdited) { maxVal = Double.parseDouble(editorV_.getStringValue(tfVertMax_)); } @@ -732,6 +801,20 @@ pasModif=Souspas.length()>0; if (maxEdited || minEdited || pasModif) { + + //-- si le choix des max pas selectionn\xE9 il faut r\xE9initialiser les y + if(!boxChooserUserLimitY.isSelected()){ + tfVertMax_.setEnabled(false); + tfVertMin_.setEnabled(false); + graphe_.restoreAllYAxe(); + return true; + + }else{ + tfVertMax_.setEnabled(true); + tfVertMin_.setEnabled(true); + } + + final double pasVal = pasModif ? Double.parseDouble(pas) : 0; for (int i = 0; i < axes_.length; i++) { @@ -744,12 +827,31 @@ double min = minVal; double max = maxVal; - if (!minEdited) { + if (!minEdited || !boxChooserUserLimitY.isSelected()) { min = axes_[i].getMinimum(); + }else{ + } - if (!maxEdited) { + if (!maxEdited || !boxChooserUserLimitY.isSelected()) { max = axes_[i].getMaximum(); } + + //-- on verifie avec le max que cela ne depasse pas--// + if(mapRangesY_!=null){ + Object value=mapRangesY_.get(axes_[i]); + if(value!=null && value instanceof CtuluRange){ + double maxR=((CtuluRange)value).max_; + double minR=((CtuluRange)value).min_; + + if(min<minR) + min=minR; + if(max>maxR) + max=maxR; + + } + } + + if (pasModif) { if(modeGraduationY_==EGAxe.MANUEL_GRADUATIONS || modeGraduationY_==EGAxe.AUTO_GRADUATIONS) r |= axes_[i].setBounds(min, max, (int)pasVal,modeGraduationY_); @@ -907,8 +1009,10 @@ } void updateAxeHorValue() { - editorH_.setValue(CtuluLib.getDouble(axeH_.getMaximum()), tfHorMax_); - editorH_.setValue(CtuluLib.getDouble(axeH_.getMinimum()), tfHorMin_); + double max=axeH_.getMaximum(); + double min=axeH_.getMinimum(); + editorH_.setValue(CtuluLib.getDouble(max), tfHorMax_); + editorH_.setValue(CtuluLib.getDouble(min), tfHorMin_); if(axeH_.modeGraduations_==EGAxe.AUTO_GRADUATIONS|| axeH_.modeGraduations_==EGAxe.MANUEL_GRADUATIONS) tfHorPas_.setText(CtuluLibString.getString(axeH_.getNbPas())); else @@ -916,10 +1020,10 @@ tfHorSousPas_.setText(""+axeH_.nbSousGraduations_); - cbBlockHView_.setSelected(false); - cbUnblockBlockHView_.setSelected(false); - cbUnblockBlockHView_.setEnabled(graphe_.isUserXRangeSet()); - cbBlockHView_.setEnabled(!cbUnblockBlockHView_.isEnabled()); + //cbBlockHView_.setSelected(true); +// cbUnblockBlockHView_.setSelected(false); +// cbUnblockBlockHView_.setEnabled(graphe_.isUserXRangeSet()); +// cbBlockHView_.setEnabled(!cbUnblockBlockHView_.isEnabled()); } void updateAxesValue() { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -442,6 +442,7 @@ boolean yiVisible; double xpe = 0; double ype = 0; + double ypeVal=0; boolean xpVisible = false; Envelope rangeDisplayed = null; _g.setColor(EbliLib.getAlphaColor(getAspectContour(), alpha_)); @@ -479,8 +480,19 @@ } paintSurface(_g, _t, i); - if(!nuagePoints_) - trLigne.dessineTrait(_g, xie, yie, xpe, ype); + if(!nuagePoints_){ + //-- attention si le point depasse de l'\xE9cran il faut dessinner le trait jusqu'\xE0 la limite de l'axe--// + double newyi=Math.min(yi, getAxeY().getMaximum()); + newyi=Math.max(newyi, getAxeY().getMinimum()); + double newyie=_t.getYEcran(newyi, getAxeY()); + + double newyi2=Math.min(ypeVal, getAxeY().getMaximum()); + newyi2=Math.max(newyi2, getAxeY().getMinimum()); + double newyie2=_t.getYEcran(newyi2, getAxeY()); + + trLigne.dessineTrait(_g, xie, newyie, xpe, newyie2); + + } else{ //-- trace un + --// //-- ligne | --// @@ -493,6 +505,7 @@ xpVisible = xiVisible; xpe = xie; ype = yie; + ypeVal=yi; } _g.setClip(oldClip); traceMarks(_g, _t); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeConfigureTarget.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeConfigureTarget.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeConfigureTarget.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -323,6 +323,7 @@ //-- affichage horizontal ou vertical inter = new BSelecteurCheckBox(EGCourbeConfigureTarget.PROP_MARK_VALUES_HORIZONTAL+cpt,EbliLib.getS("Horizontal")); ((BSelecteurCheckBox) inter).setTitle(EbliLib.getS("Horizontal")); + ((BSelecteurCheckBox) inter).setTooltip(EbliLib.getS("coch\xE9 pour Horizontal, sinon marqueur vertical")); listeTocompose[3]=inter; //-- ajout de la composition Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -133,6 +133,9 @@ maxXRangeCompute(); } + + + private void computeXRange() { if (xRange_ != null) { return; } xRange_ = new CtuluRange(); @@ -572,51 +575,104 @@ updateRepere(); if (transformer_.getXAxe() == null) { return; } restoreAxeX(); - final Map axeYRange = new HashMap(); - final EGGrapheModel m = getModel(); - for (int i = m.getNbEGObject() - 1; i >= 0; i--) { - final EGObject o = m.getEGObject(i); - if (o.isVisible_) { - final EGAxeVertical axe = o.getAxeY(); - CtuluRange r = (CtuluRange) axeYRange.get(axe); - if (r == null) { - r = new CtuluRange(); - r.max_ = -Double.MAX_VALUE; - r.min_ = Double.MAX_VALUE; - axeYRange.put(axe, r); - } - o.ajusteY(r); - } - } - for (final Iterator it = axeYRange.entrySet().iterator(); it.hasNext();) { - final Map.Entry e = (Map.Entry) it.next(); - final EGAxeVertical v = (EGAxeVertical) e.getKey(); - final CtuluRange r = (CtuluRange) e.getValue(); - if (Double.isNaN(r.max_) || Double.isInfinite(r.max_) || (r.max_ <= -Double.MAX_VALUE)) { - r.max_ = 0; - } - if (Double.isNaN(r.min_) || Double.isInfinite(r.min_) || (r.min_ >= Double.MAX_VALUE)) { - r.min_ = 0; - } - if (r.min_ == r.max_) { - if (r.max_ == 0) { - r.max_ = 1; - r.min_ = -1; - } else { - r.max_ = r.min_ * 1.1; - r.min_ = r.min_ * 0.9; - } - if (r.min_ == r.max_) { - r.max_ = 1; - r.min_ = -1; - } - } - restoreAxeY(v, r); - - } + + restoreAllYAxe(); +// final Map axeYRange = new HashMap(); +// final EGGrapheModel m = getModel(); +// for (int i = m.getNbEGObject() - 1; i >= 0; i--) { +// final EGObject o = m.getEGObject(i); +// if (o.isVisible_) { +// final EGAxeVertical axe = o.getAxeY(); +// CtuluRange r = (CtuluRange) axeYRange.get(axe); +// if (r == null) { +// r = new CtuluRange(); +// r.max_ = -Double.MAX_VALUE; +// r.min_ = Double.MAX_VALUE; +// axeYRange.put(axe, r); +// } +// o.ajusteY(r); +// } +// } +// for (final Iterator it = axeYRange.entrySet().iterator(); it.hasNext();) { +// final Map.Entry e = (Map.Entry) it.next(); +// final EGAxeVertical v = (EGAxeVertical) e.getKey(); +// final CtuluRange r = (CtuluRange) e.getValue(); +// if (Double.isNaN(r.max_) || Double.isInfinite(r.max_) || (r.max_ <= -Double.MAX_VALUE)) { +// r.max_ = 0; +// } +// if (Double.isNaN(r.min_) || Double.isInfinite(r.min_) || (r.min_ >= Double.MAX_VALUE)) { +// r.min_ = 0; +// } +// if (r.min_ == r.max_) { +// if (r.max_ == 0) { +// r.max_ = 1; +// r.min_ = -1; +// } else { +// r.max_ = r.min_ * 1.1; +// r.min_ = r.min_ * 0.9; +// } +// if (r.min_ == r.max_) { +// r.max_ = 1; +// r.min_ = -1; +// } +// } +// restoreAxeY(v, r); +// +// } axeUpdated(); } + + /** + * restore uniquement les axes en y. + */ + public Map restoreAllYAxe() { + final Map axeYRange = new HashMap(); + final EGGrapheModel m = getModel(); + for (int i = m.getNbEGObject() - 1; i >= 0; i--) { + final EGObject o = m.getEGObject(i); + if (o.isVisible_) { + final EGAxeVertical axe = o.getAxeY(); + CtuluRange r = (CtuluRange) axeYRange.get(axe); + if (r == null) { + r = new CtuluRange(); + r.max_ = -Double.MAX_VALUE; + r.min_ = Double.MAX_VALUE; + axeYRange.put(axe, r); + } + o.ajusteY(r); + } + } + for (final Iterator it = axeYRange.entrySet().iterator(); it.hasNext();) { + final Map.Entry e = (Map.Entry) it.next(); + final EGAxeVertical v = (EGAxeVertical) e.getKey(); + final CtuluRange r = (CtuluRange) e.getValue(); + if (Double.isNaN(r.max_) || Double.isInfinite(r.max_) || (r.max_ <= -Double.MAX_VALUE)) { + r.max_ = 0; + } + if (Double.isNaN(r.min_) || Double.isInfinite(r.min_) || (r.min_ >= Double.MAX_VALUE)) { + r.min_ = 0; + } + if (r.min_ == r.max_) { + if (r.max_ == 0) { + r.max_ = 1; + r.min_ = -1; + } else { + r.max_ = r.min_ * 1.1; + r.min_ = r.min_ * 0.9; + } + if (r.min_ == r.max_) { + r.max_ = 1; + r.min_ = -1; + } + } + restoreAxeY(v, r); + + } + return axeYRange; + + } + public void setAutoRestore(final boolean _autoRestore) { if (_autoRestore != autoRestore_) { autoRestore_ = _autoRestore; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -305,6 +305,11 @@ protected void notifyNodeAdded(final EbliNode node, final Widget widget) { // -- notifier tous les listener que le noeud a ete attache --// // notifyAllListenerNodeAdded(node); + if(widget instanceof EbliWidget){ + //-- notifier le noeud ajout\xE9 --// + ((EbliWidget)widget).notifyNodeAdded(node); + } + } /** Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -564,6 +564,21 @@ } + /** + * Methode appelee par le notifyAdded de la EbliScene apres ajout du node. + * Dans cette classe on peut appliquer des traitement particuliers tout juste apres insertion dans la scene. + * @see EbliWidgetCreatorConnectionWidget + * @param node + */ + public void notifyNodeAdded(EbliNode node){ } + + + /** + * Est appel\xE9 des que la widget a \xE9t\xE9 d\xE9plac\xE9. + * @param _location + */ + public void notifyWidgetMoved(final Point _location){ } + public final void bringToPosition (int position) { if (getParentWidget() == null) return; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/behavior/EbliAlignWithMoveStrategyProvider.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/behavior/EbliAlignWithMoveStrategyProvider.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/behavior/EbliAlignWithMoveStrategyProvider.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -93,6 +93,7 @@ satt.setPreferredLocation(newLocationSatt); } } + ebliwidget.notifyWidgetMoved(_location); } /** Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -3,16 +3,25 @@ import java.awt.Dimension; import java.awt.Image; import java.awt.Point; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import org.fudaa.ebli.visuallibrary.EbliNode; +import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; +import org.fudaa.ebli.visuallibrary.EbliWidgetController; +import org.fudaa.ebli.visuallibrary.EbliWidgetControllerActionOnly; import org.fudaa.ebli.visuallibrary.EbliWidgetWithBordure; +import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; import org.netbeans.api.visual.anchor.AnchorFactory; import org.netbeans.api.visual.anchor.AnchorShape; +import org.netbeans.api.visual.layout.Layout; import org.netbeans.api.visual.widget.ConnectionWidget; import org.netbeans.api.visual.widget.LayerWidget; +import org.netbeans.modules.visual.layout.ConnectionWidgetLayout; +import org.netbeans.modules.visual.layout.OverlayLayout; /** * Creator pour un widget creator connection. @@ -22,55 +31,303 @@ */ public class EbliWidgetCreatorConnectionWidget implements EbliWidgetCreator{ + /** + * les dimensions des widgets extremites qui permettent le deplacement de l'objet. + */ + public static int DIMENSION_DEFAULT_EXTREMITES=50; - EbliWidget connection1_; - EbliWidget connection2_; + EbliSatteliteWidget connectionHead_; + EbliSatteliteWidget connectionTail_; ConnectionWidget connection_; - EbliWidget conteneurFleche_; + /** + * Il s'agit de la widget principal vide qui d\xE9place tout le contenu (les widgets connections). + */ + EbliHelioCentiqueWidget conteneurFleche_; LayerWidget layoutConteneur_; + + //-- positions par defaut --// + int locationHeadX=10; + int locationHeadY=10; + int locationTailX=600; + int locationTailY=300; + /** + * Controller specifique au widget connecteurs, strict minimum + * @author Adrien Hadoux + * + */ + private class ControllerConnection extends EbliWidgetControllerActionOnly{ + public ControllerConnection(EbliWidget widget_) { + super(widget_,true,false); + } + } + + /** + * Controlleur r\xE9serv\xE9 au conteneur principale des fleches. + * Gere une duplication, suppression et autre particuliers. + * @author Adrien Hadoux + * + */ + private class ControllerConteneurFleche extends EbliWidgetController{ + ConnectionWidget connection_; + LayerWidget layoutConteneur_; + public ControllerConteneurFleche(EbliWidget widget_,LayerWidget layer,ConnectionWidget connection ) { + super(widget_,true,false); + connection_=connection; + layoutConteneur_=layer; + } + public void suppression(ArrayList<EbliNode> listeNodeUndo, + ArrayList<Point> listeLocation) { + + //-- on supprime tous nos amis sattelites --// + layoutConteneur_.removeChild(connection_); + widget_.getEbliScene().removeChild(layoutConteneur_); + + //-- on effectue la suppression classique --// + super.suppression(listeNodeUndo, listeLocation); + } + + + } + + +/** + * une widget qui aime les sattelites (et tout ce qui gravite autour...). + * @author Adrien Hadoux + * + */ + private class EbliSatteliteWidget extends EbliWidget{ + List<EbliWidget> listeSatteliteWidget_; + public EbliSatteliteWidget autreExtremite; + public EbliHelioCentiqueWidget main; + public EbliSatteliteWidget(EbliScene _scene,boolean resize) { + super(_scene,resize); + listeSatteliteWidget_=new ArrayList<EbliWidget>(); + + } + public List<EbliWidget> getSattelite() { + return listeSatteliteWidget_; + } + public boolean hasSattelite() { + return true; + } + public boolean addSattelite(EbliWidget widg){ + if(!listeSatteliteWidget_.contains(widg)) + return listeSatteliteWidget_.add(widg); + return false; + } + + /** + * repositionne la widget centrale des qu'il y a un deplacement. + */ + public void notifyWidgetMoved(final Point _location){ + //-- repositionne la widget extremites en haut de la scene (on ne voit rien dans le tree car il n'y a pas de node enegistr\xE9e pouer cette widget)--// + getEbliScene().bringToLast(this); + + //-- on repositionner la widget centrale par rapport \xE0 la position des 2 autres widgets --// + EbliWidgetCreatorConnectionWidget.repositionnerConteneurAvecExtremites( main,this,autreExtremite); + + } + + } + + /** + * classe r\xE9serv\xE9e pour la widget principale. + * Gere ses sattelites en s'assurant d'etre en arrier plan par rapport \xE0 elles. + * @author Adrien Hadoux + * + */ + private class EbliHelioCentiqueWidget extends EbliSatteliteWidget{ + public EbliHelioCentiqueWidget(EbliScene _scene,boolean resize) { + super(_scene,resize); + } + /** + * Surcharge de notifyNodeAdded apr\xE8s insertion pour forcer les d\xE9placements. + */ + public void notifyNodeAdded(EbliNode node){ + deplaceExtremitesCentre(); + + } + /** + * ne replace rien. la widget centrale se contente de son mode sattelite qui lui permet de d\xE9placer ses extr\xE9mit\xE9s automatiquement dans efforts. + */ + public void notifyWidgetMoved(final Point _location){ + deplaceExtremitesCentre(); + } + + /** + * repositionne les widget extremites sattelites en haut de la scene (on ne voit rien dans le tree car il n'y a pas de node enegistr\xE9e pouer cette widget). + */ + private void deplaceExtremitesCentre(){ + for(EbliWidget satt:getSattelite()){ + //-- amene en debut lse frames--// + getEbliScene().bringToLast(satt); + } + } + } + + public EbliWidgetCreatorConnectionWidget() { super(); } + /** + * Creator qui initialise l'emplacement de la widget. + * @param positionTete + * @param positionQueue + */ + public EbliWidgetCreatorConnectionWidget(Point positionTete,Point positionQueue) { + super(); + locationHeadX=positionTete.x; + locationHeadY=positionTete.y; + locationTailX=positionQueue.x; + locationTailY=positionQueue.y; + } + + /** + * Methode qui se charge de repositionner la widget principale par rapport aux positions des extremites. + */ + public static void repositionnerConteneurAvecExtremites(EbliHelioCentiqueWidget main,EbliSatteliteWidget tete,EbliSatteliteWidget queue ){ + if(main==null || tete==null || queue==null) + return; + + Point location1=tete.getLocation(); + if(location1==null) + location1=tete.getPreferredLocation(); + Point location2=queue.getLocation(); + if(location2==null) + location2=queue.getPreferredLocation(); + + //-- position du nouveau point --// +// int x=(location1.x+location2.x)/2; +// int y=(location1.y+location2.y)/2; +// Point newPosition=new Point(x,y); + + + int conteneurX; + int conteneurY; + if(location1.x<location2.x) + conteneurX=location1.x; + else + conteneurX=location2.x; + if(location1.y<location2.y) + conteneurY=location1.y; + else + conteneurY=location2.y; + + //-- location du main trouv\xE9 --// + Point newPosition=new Point(conteneurX,conteneurY); + + //-- taille totale a d\xE9finir --// + int width=(location1.x+location2.x)/2+DIMENSION_DEFAULT_EXTREMITES/2; + int height=(location1.y+location2.y)/2+DIMENSION_DEFAULT_EXTREMITES/2; + + main.setPreferredLocation(newPosition); + if(width!=0 && height!=0) + main.setPreferredSize(new Dimension(width,height)); + + + } + + + public EbliWidget create(EbliScene _scene) { - connection1_=new EbliWidget(_scene,true); - connection2_=new EbliWidget(_scene,true); - conteneurFleche_=new EbliWidget(_scene); + layoutConteneur_ = new LayerWidget (_scene); + connection_ = new ConnectionWidget (_scene); + /** + * Il s'agit de la widget principal vide qui d\xE9place tout le contenu (les widgets connections). + */ + conteneurFleche_=new EbliHelioCentiqueWidget(_scene,false); + conteneurFleche_.setController(new ControllerConteneurFleche(conteneurFleche_,layoutConteneur_,connection_)); - connection1_.setPreferredSize(new Dimension(50,50)); - connection2_.setPreferredSize(new Dimension(50,50)); + connectionHead_=new EbliSatteliteWidget(_scene,false); + connectionHead_.setController(new ControllerConnection(connectionHead_)); + connectionTail_=new EbliSatteliteWidget(_scene,false); + connectionTail_.setController(new ControllerConnection(connectionTail_)); + - connection1_.setPreferredLocation(new Point(10,10)); - connection2_.setPreferredLocation(new Point(600,300)); - _scene.getVisu().addChild(connection1_); - _scene.getVisu().addChild(connection2_); + //-- ajout des sattelites pour le conteneur principal--// + conteneurFleche_.addSattelite(connectionHead_); + conteneurFleche_.addSattelite(connectionTail_); + + //-- ajout de l'informations du conteneur principal comme sattelite --// +// connectionHead_.addSattelite(conteneurFleche_); +// connectionTail_.addSattelite(conteneurFleche_); + connectionHead_.main=conteneurFleche_; + connectionTail_.main=conteneurFleche_; + + + //-- ajout de l'info de l'autre extremit\xE9 pour chaque extr\xE9mit\xE9 --// + connectionTail_.autreExtremite=connectionHead_; + connectionHead_.autreExtremite=connectionTail_; + + + + + + + + connectionHead_.setPreferredSize(new Dimension(DIMENSION_DEFAULT_EXTREMITES,DIMENSION_DEFAULT_EXTREMITES)); + connectionTail_.setPreferredSize(new Dimension(DIMENSION_DEFAULT_EXTREMITES,DIMENSION_DEFAULT_EXTREMITES)); + + connectionHead_.setPreferredLocation(new Point(locationHeadX,locationHeadY)); + connectionTail_.setPreferredLocation(new Point(locationTailX,locationTailY)); + + conteneurFleche_.setPreferredSize(new Dimension(DIMENSION_DEFAULT_EXTREMITES,DIMENSION_DEFAULT_EXTREMITES)); + + EbliWidgetCreatorConnectionWidget.repositionnerConteneurAvecExtremites(conteneurFleche_, connectionHead_, connectionTail_); + //conteneurFleche_.setPreferredLocation(new Point((locationHeadY+locationHeadX-DIMENSION_DEFAULT_EXTREMITES)/2,(locationHeadY+locationHeadX-DIMENSION_DEFAULT_EXTREMITES)/2)); + + _scene.getVisu().addChild(connectionHead_); + _scene.getVisu().addChild(connectionTail_); + //-- creation de la connection --// - connection_ = new ConnectionWidget (_scene); - connection_.setSourceAnchor(AnchorFactory.createCircularAnchor (connection1_, 32)); - connection_.setTargetAnchor(AnchorFactory.createCircularAnchor (connection2_, 32)); + + connection_.setSourceAnchor(AnchorFactory.createCircularAnchor (connectionHead_, 32)); + connection_.setTargetAnchor(AnchorFactory.createCircularAnchor (connectionTail_, 32)); connection_.setTargetAnchorShape(AnchorShape.TRIANGLE_FILLED); - layoutConteneur_ = new LayerWidget (_scene); + + _scene.addChild(layoutConteneur_); + -// layoutConteneur_= new LayerWidget(_scene); -// conteneurFleche_.addChild(layoutConteneur_ ); layoutConteneur_.addChild(connection_); - return null; + return conteneurFleche_; } - public EbliNode duplicate(EbliNode adupliquer) { - // TODO Auto-generated method stub - return null; + public EbliNode duplicate(EbliNode _nodeAdupliquer) { + final EbliNode duplique = new EbliNodeDefault(); + + + Point positionExtrem1=connectionHead_.getLocation(); + if( positionExtrem1==null) + positionExtrem1=connectionHead_.getPreferredLocation(); + Point positionExtrem2=connectionTail_.getLocation(); + if( positionExtrem2==null) + positionExtrem2=connectionTail_.getPreferredLocation(); + positionExtrem1.translate(50,50); + positionExtrem2.translate(50,50); + + //-- duplication avec les position recopi\xE9es --// + duplique.setCreator(new EbliWidgetCreatorConnectionWidget(positionExtrem1,positionExtrem2)); + + duplique.setTitle(_nodeAdupliquer.getTitle()); + // recopie des tailles + duplique.setPreferedSize(_nodeAdupliquer.getPreferedSize()); + // -- calcul nouvelle position +// final Point nouvellePosition = new Point(getWidget().getLocation().x, (getWidget().getLocation().y + getWidget() +// .getClientArea().height)); +// duplique.setPreferedLocation(nouvellePosition); + return duplique; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetTreeTableNode.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetTreeTableNode.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetTreeTableNode.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -79,9 +79,11 @@ if (_column == 0) { return getUserObject(); } if (_column == 1) { return ((EbliNodeDefault) getUserObject()).getTitle(); } if (_column == 2) return Boolean.valueOf(((EbliNodeDefault) getUserObject()).getWidget().isVisible()); + + EbliNodeDefault node=(EbliNodeDefault) getUserObject(); + EbliWidget widget=node.getWidget(); + return Boolean.valueOf(widget.getController().isBlocked); - return Boolean.valueOf(((EbliNodeDefault) getUserObject()).getWidget().getController().isBlocked); - } @Override Added: branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/Serial.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/Serial.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/Serial.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -0,0 +1,209 @@ +package org.fudaa.ebli.all; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.ObjectStreamClass; +import java.io.Serializable; + +//TODO RENDRE Serializable les classes ci-dessous +//TODO ajouter la m\xE9thode equals permettant de comparer les champs des classes +public class Serial { + + public static abstract class AbstractClient implements Serializable{ + String nom = "Test"; + + private static final long serialVersionUID = 1000000; + + public AbstractClient() { + + } + + /** + * @return the nom + */ + protected String getNom() { + return nom; + } + + /** + * @param nom the nom to set + */ + protected void setNom(String nom) { + this.nom = nom; + } + + @Override + public String toString() { + return getClass().getName() + " ,nom=" + nom; + } + + + public boolean equals(Object obj) { + if(! (obj instanceof AbstractClient)) + return false; + + AbstractClient cli=(AbstractClient) obj; + if(nom!=null ) + return nom.equals(cli.nom) ; + return false; + + } + + + + } + + public static class Client extends AbstractClient { + /** + * + */ + private static final long serialVersionUID = 1000001; + String pays = "France"; + + public Client() { + + } + + /** + * @return the age + */ + protected String getPays() { + return pays; + } + + /** + * @param pays the age to set + */ + protected void setPays(String pays) { + this.pays = pays; + } + + @Override + public String toString() { + return super.toString() + " ,pays=" + pays; + } + + + public boolean equals(Object obj) { + if((obj == null) || (obj.getClass() != this.getClass())) + return false; + + Client cli=(Client) obj; + if(nom!=null && pays!=null) + return super.equals(obj) && pays.equals(cli.pays); + return false; + + } + + + } + + public static class ClientFrancais extends Client { + /** + * + */ + private static final long serialVersionUID = 1000002; + int codePostal = 74000; + + public ClientFrancais() { + + } + + /** + * @return the codePostal + */ + protected int getCodePostal() { + return codePostal; + } + + /** + * @param codePostal the codePostal to set + */ + protected void setCodePostal(int codePostal) { + this.codePostal = codePostal; + } + + /** + * + */ + @Override + public String toString() { + return super.toString() + " ,codePostal=" + codePostal; + } + + public boolean equals(Object obj) { + if(super.equals(obj)){ + if(! (obj instanceof ClientFrancais)) + return false; + return codePostal==((ClientFrancais) obj).codePostal; + + + } + return false; + + } + } + + public static void main(String[] args) { + //XXX Ci dessous, voici un moyen pour serialiser/deserialiser un objet + ObjectOutputStream out = null; + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + ClientFrancais test = new ClientFrancais(); + try { + out = new ObjectOutputStream(outStream); + out.writeObject(test); + } catch (Exception e) { + try { + if (out != null) { + out.close(); + } + //TODO d'apres toi est-ce que la ligne suivante est n\xE9cessaire: + //TODO si non pourquoi + + //-- Adrien: pas besoin car c'est out.close(); qui fait le boulot de lib\xE9rer les ressources. --// + // outStream.close() + } catch (IOException e1) { + e1.printStackTrace(); + } + } + + ObjectInputStream in = null; + try { + in = new ObjectInputStream(new +ByteArrayInputStream(outStream.toByteArray())); + System.err.println(in.readObject()); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if (in != null) { + in.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + //XXX pour connaitre le SerialVersionUID de de Cient + ObjectStreamClass desc = ObjectStreamClass.lookup(ClientFrancais.class); + if (desc == null) { + System.err.println("la classe n'est pas serializable"); + } else { + System.err.println("le serial UID de Client est " + +desc.getSerialVersionUID()); + + + + } + + ClientFrancais fr = new ClientFrancais(); + Client cl = new Client(); + System.out.println("client est \xE9gale a clientFr " + cl.equals(fr)); + System.out.println("clientFr est \xE9gale a client " + fr.equals(cl)); + + } + + } + + Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -35,6 +35,7 @@ import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.pdf.CtuluPanelPdfViewer; +import org.fudaa.dodico.objet.CExec; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.ebli.commun.EbliComponentFactory; @@ -616,6 +617,21 @@ //p.waitFor(); }else { //-- linux power --// + String[] cmd = new String[2]; + cmd[0] = "evince"; + cmd[1] = fichier.getAbsolutePath(); + try{ + final CExec ex = new CExec(); + ex.setCommand(cmd); + ex.setOutStream(System.out); + ex.setErrStream(System.err); + ex.exec(); + } + catch (final Throwable _e1) { + ui_.error(FudaaResource.FUDAA.getString("Impossible d'ouvrir le fichier pdf sous Linux, le visionneur int\xE9gr\xE9 \xE0 Fudaa sera utilis\xE9.")); + this.useOsPdfViewer_.setSelected(false); + openPdfFile(fichier); + } } }else{ Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -337,8 +337,8 @@ nodeFleche.setCreator(new EbliWidgetCreatorConnectionWidget()); - nodeFleche.setPreferedSize(new Dimension(200, 150)); - nodeFleche.setPreferedLocation(new Point(350, 125)); + //nodeFleche.setPreferedSize(new Dimension(200, 150)); + //nodeFleche.setPreferedLocation(new Point(350, 125)); // ajout du node au layout addNode(nodeFleche); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostPersistenceManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostPersistenceManager.java 2009-02-19 20:11:45 UTC (rev 4488) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostPersistenceManager.java 2009-02-20 19:27:45 UTC (rev 4489) @@ -158,8 +158,8 @@ final CtuluFileChooser fileChooser = new CtuluFileChooser(true); fileChooser.setDialogTitle(EbliResource.EBLI.getString("S\xE9lectionnez l'emplacement de votre projet")); fileChooser.setAcceptAllFileFilterUsed(false); - // fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); - fileChooser.addChoosableFileFilter(new TrPostFileFilter.DirectoryPOSTFilter()); + fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + //fileChooser.addChoosableFileFilter(new TrPostFileFilter.DirectoryPOSTFilter()); // -- par defaut on choisis le nom du fichier resultat + .POST --// @@ -195,21 +195,24 @@ if (projet_ != null) { // initialiser le saveas dans le meme rep // fileChooser.setSelectedFile(projet_); } - final int reponse = fileChooser.showSaveDialog(CtuluLibSwing.getFrameAncestor(ui_.getParentComponent())); + File conteneurProjet =null; + + int reponse = fileChooser.showSaveDialog(CtuluLibSwing.getFrameAncestor(ui_.getParentComponent())); if (reponse == JFileChooser.APPROVE_OPTION) { - final File conteneurProjet = fileChooser.getSelectedFile(); + conteneurProjet = fileChooser.getSelectedFile(); + }else + return false; + - // -- si le fichier choisit en d\xE9finitif est diff\xE9rent du fichier d\xE9faut et qu'il a \xE9t\xE9t cr\xE9r pour rien, on le - // supprime --// - // FRED ben pourquoi l'avoir cree alors !!!!! - // if (constrcutFileDefaut && fileDefaut != null - // && !fileDefaut.getAbsolutePath().equals(conteneurProjet.getAbsolutePath())) { - // fileDefaut.delete(); - // } + if(!conteneurProjet.isDirectory()){ + + trprojet_.impl_.error(TrResource.getS("Erreur, le fichier choisit doit \xEAtre un r\xE9pertoire")); + return false; + } // -- test si le fichier choisit par l'utilisateur existe djea, si oui. demander confirmation d'ecrasement --// if (conteneurProjet.exists()) { - // Fred il faut traduire + boolean resp = trprojet_.impl_.question("Fichier " + conteneurProjet.getName() + " existant", "Le fichier " + conteneurProjet.getName() + " existe d\xE9j\xE0.\n Voulez-vous l'\xE9craser ?"); if (!resp) return false; @@ -229,16 +232,7 @@ return false; } - } else { - - // -- on supprime le fichier defaut construit pour rien si il a \xE9t\xE9 construit --// - // if (constrcutFileDefaut) { - // fileDefaut.delete(); - // } - - return false; - } - } else if (projet_ != null) + } else if (projet_ != null) // -- on sauvegarde au meme emplacement --// return true; else return false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-02-23 17:38:36
|
Revision: 4491 http://fudaa.svn.sourceforge.net/fudaa/?rev=4491&view=rev Author: hadouxad Date: 2009-02-23 17:38:31 +0000 (Mon, 23 Feb 2009) Log Message: ----------- - fleches - echelles logarithmiques pour les graphes - inversion x et y Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueGrille.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeRepereConfigurator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigGrillePalette.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesLigneConfigure.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecorator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecoratorDefault.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecoratorInverse.java Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesLigneConfigure.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesLigneConfigure.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonneesLigneConfigure.java 2009-02-23 17:38:31 UTC (rev 4491) @@ -0,0 +1,47 @@ +/* + * @creation 9 nov. 06 + * @modification $Date: 2007-06-05 08:58:38 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ebli.calque; + +import org.fudaa.ebli.controle.BSelecteurInterface; +import org.fudaa.ebli.controle.BSelecteurLineModel; +import org.fudaa.ebli.trace.TraceLigneModel; + +/** + * @author fred deniger + * @version $Id: ZCalqueAffichageDonneesTraceConfigure.java,v 1.3 2007-06-05 08:58:38 deniger Exp $ + */ +public class ZCalqueAffichageDonneesLigneConfigure extends BCalqueConfigureSectionAbstract { + + final int idx_; + final String propLine_; + + public ZCalqueAffichageDonneesLigneConfigure(final ZCalqueAffichageDonneesAbstract _target, final int _idx) { + super(_target, _target.getSetTitle(_idx)); + idx_ = _idx; + propLine_ = BSelecteurLineModel.getProperty(idx_); + } + + protected ZCalqueAffichageDonneesAbstract getCq() { + return (ZCalqueAffichageDonneesAbstract) target_; + } + + public boolean setProperty(final String _key, final Object _newProp) { + return getCq().setLineModel(idx_, (TraceLigneModel) _newProp); + } + + public Object getProperty(final String _key) { + return getCq().getLineModel(idx_); + } + + public BSelecteurInterface[] createSelecteurs() { + final BSelecteurLineModel selecteurLineModel = new BSelecteurLineModel(propLine_); + selecteurLineModel.setTitle(((ZCalqueAffichageDonneesAbstract) target_).getSetTitle(idx_)); + return new BSelecteurInterface[] { selecteurLineModel }; + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueGrille.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueGrille.java 2009-02-23 16:32:31 UTC (rev 4490) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZCalqueGrille.java 2009-02-23 17:38:31 UTC (rev 4491) @@ -1,1053 +1,1086 @@ -/* - * @file BCalqueGrille.java - * @creation 1998-09-03 - * @modification $Date: 2008-02-20 10:14:40 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.ebli.calque; - -import gnu.trove.TDoubleArrayList; -import gnu.trove.TIntArrayList; - -import java.awt.Color; -import java.awt.Component; -import java.awt.Font; -import java.awt.FontMetrics; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Insets; -import java.util.ArrayList; -import java.util.List; - -import org.fudaa.ctulu.CtuluLibString; -import org.fudaa.ctulu.CtuluListSelection; -import org.fudaa.ctulu.iterator.NumberIterator; -import org.fudaa.ctulu.iterator.TickIterator; -import org.fudaa.ebli.commun.EbliLib; -import org.fudaa.ebli.commun.EbliUIProperties; -import org.fudaa.ebli.geometrie.GrBoite; -import org.fudaa.ebli.geometrie.GrMorphisme; -import org.fudaa.ebli.geometrie.GrPoint; -import org.fudaa.ebli.trace.TraceLigne; -import org.fudaa.ebli.trace.TraceLigneModel; - -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.LinearRing; - -/** - * Un calque d'affichage d'une grille. - * - * @version $Revision: 1.11.6.1 $ $Date: 2008-02-20 10:14:40 $ by $Author: bmarchan $ - * @author Guillaume Desnoix - */ -public class ZCalqueGrille extends ZCalqueAffichageDonnees { - // Proprietes - // private GrBoite boite_; - boolean drawGrid_; - boolean drawX_ = true; - boolean drawY_ = true; - // Envelope customBounds_; - // boolean useCustom_; - - int nbGraduationX_ = 10; - int nbGraduationY_ = 10; - - // -- sous graduations --// - int nbSousGraduationX_ = 3; - // -- sous graduations --// - int nbSousGraduationY_ = 3; - - private TraceLigneModel traceGraduations_ = new TraceLigneModel(TraceLigne.TIRETE, 1, Color.black); - private TraceLigneModel traceSousGraduations_ = new TraceLigneModel(TraceLigne.TIRETE, (float) 0.5, Color.gray); - - final BVueCalque vue_; - - /** - * Indique la facon de calculer les graduations. pour l'axe des x. - */ - boolean modeAutomatiqueX_ = false; - /** - * Indique la facon de calculer les graduations. pour l'axe des y. - */ - boolean modeAutomatiqueY_ = false; - - /** - * Indique si on utilise par taille de pas ou par nombre de graduations - */ - boolean modeLongueurPasX_ = false; - boolean modeLongueurPasY_ = false; - - /** - * Valeur du pas que devront suivrent tous les traits de la grilles si on en mode taille pas. - */ - double valeurPasX_; - double valeurPasY_; - - boolean drawSousGrilleX_ = false; - boolean drawSousGrilleY_ = false; - - // boolean modeLongueurPasSousGradX_ = false; - // boolean modeLongueurPasSousGradY_ = false; - // - // double valeurPasSousGradX_; - // double valeurPasSousGradY_; - -// private Color couleurSousGraduation_ = Color.blue; - - public ZCalqueGrille(final BVueCalque _vue) { - super(); - vue_ = _vue; - setDestructible(false); - setName("cqGrille"); - setTitle(EbliLib.getS("Grille")); - // setForeground(new Color(204, 153, 0)); - setForeground(Color.BLACK); - } - - public void paintAllInImage(final Graphics2D _g, final GrMorphisme _versEcran, final GrMorphisme _versReel, - final GrBoite _clipReel) { - // super.paintAllInImage(_g, _versEcran, _versReel, _clipReel); - } - - public void changeZoom(double minx, double miny, double maxx, double maxy) { - vue_.changeViewBoite(this, new GrBoite(new GrPoint(minx, miny, 0), new GrPoint(maxx, maxy, 0)), false); - } - - public int getNbXGraduations() { - return nbGraduationX_; - } - - public int getNbYGraduations() { - return nbGraduationY_; - } - - public int getNbXSousGraduations() { - return nbSousGraduationX_; - } - - public int getNbYSousGraduations() { - return nbSousGraduationY_; - } - - - /** - * Accesseur de la propriete <I>boite</I>. Elle donne la position, la taille, le domaine de la grille. - */ - // public GrBoite getBoite() { - // return boite_; - // } - public GrBoite getDomaine() { - return null; - // GrBoite r = null; - // if (isVisible()) { - // GrBoite d = null; - // d = super.getDomaine(); - // r = getBoite(); - // if (d != null) { - // if (r == null) { - // r = d; - // } else { - // r = r.union(d); - // } - // } - // } - // return r; - } - - public GrBoite getDomaineOnSelected() { - return getDomaine(); - } - - public boolean isCouleurModifiable() { - return true; - } - - public int getTiretLength() { - return 3; - } - - public void paintDonnees(final Graphics2D _g, final GrMorphisme _versEcran, final GrMorphisme _versReel, - final GrBoite _clipReel) { - GrBoite domaine = vue_.getAbstractCalque().getDomaine(); - final GrBoite zv = _clipReel.intersectionXY(domaine); - // GrBoite domaine = vue_.getViewBoite(); - // final GrBoite zv = domaine; - - if (zv == null) { return; } - // updateBounds(zv); - final GrBoite targetBoite = new GrBoite(); - targetBoite.ajuste(0, 0, 0); - // la boite d'affichage - - if (!_versEcran.isSame(getVersEcran())) { return; } - targetBoite.ajuste(getWidth(), getHeight(), 0); - final Color old = _g.getColor(); - final Font oldFont = _g.getFont(); - // la fonte - final Font font = getFont(); - if (font != null) { - _g.setFont(font); - } - final FontMetrics fm = font == null ? null : _g.getFontMetrics(font); - final TDoubleArrayList xValue = new TDoubleArrayList(20); - final TIntArrayList xStrWidth = new TIntArrayList(20); - final List xString = new ArrayList(20); - - final boolean isXPainted = drawX_ && zv.getMinX() < zv.getMaxX() && nbGraduationX_ > 0; - - if (isXPainted) { - computeXValues(zv, _g, xValue, xStrWidth, xString); - } - double yMax = 0; - final TDoubleArrayList yValue = new TDoubleArrayList(20); - final TIntArrayList yStrWidth = new TIntArrayList(20); - final List yString = new ArrayList(20); - final boolean isYPainted = drawY_ && zv.getMinY() < zv.getMaxY() && nbGraduationY_ > 0; - if (isYPainted) { - yMax = computeYValues(_g, zv, yValue, yStrWidth, yString); - } - - // boolean rapide = isRapide(); - final GrMorphisme versEcran = _versEcran; - final int tiret = getTiretLength(); - final int marge = 1; - int absyAxe = (int) (targetBoite.getMinX() + yMax + 2 * marge + tiret); - final int margeBas = (font == null ? 0 : font.getSize()) + 2 * marge + tiret; - int ordxAxe = (int) (targetBoite.getMaxY() - margeBas); - vue_.setUserInsets(new Insets(3, absyAxe + 5, margeBas + 5, 3)); - - final GrBoite ecranBoite = domaine.applique(_versEcran); - if (ecranBoite.getMinX() - 5 > absyAxe) { - absyAxe = (int) (ecranBoite.getMinX() - 5); - } - if (ecranBoite.getMaxY() + 5 < ordxAxe) { - ordxAxe = (int) (ecranBoite.getMaxY() + 5); - } - if (isXPainted) { - fillXZone(_g, targetBoite, absyAxe, ordxAxe, ecranBoite); - - } - - // l'axe des x - final double maxXForAxe = ecranBoite.getMaxX() - marge; - - // l'axe des y - final double minYForAxe = ecranBoite.getMinY() + marge; - // les graduation en x - - final int ascent = fm == null ? 0 : fm.getAscent(); - final int ordXString = ordxAxe + tiret + ascent; - if (isXPainted) { - drawXAxe(_g, zv, xValue, versEcran, absyAxe, ordxAxe, maxXForAxe); - drawXGraduations(_g, targetBoite, xValue, xStrWidth, xString, absyAxe, ordxAxe, ecranBoite, minYForAxe, - ordXString); - } - - // y - - if (isYPainted) { - fillYZone(_g, targetBoite, absyAxe, ecranBoite); - drawYaxe(_g, zv, xValue, yValue, versEcran, absyAxe, ordxAxe, minYForAxe); - drawYGraduations(_g, yValue, yStrWidth, yString, versEcran, marge, absyAxe, ordxAxe, ecranBoite, maxXForAxe); - } - _g.setColor(old); - _g.setFont(oldFont); - } - - void fillXZone(final Graphics2D _g, final GrBoite _targetBoite, final int _absyAxe, final int _ordxAxe, - final GrBoite _ecranBoite) { - if (_ecranBoite.getMaxX() > _ordxAxe) { - _g.setColor(vue_.getBackground()); - _g.fillRect(_absyAxe, _ordxAxe, (int) _targetBoite.getMaxX() - _absyAxe, (int) _targetBoite.getMaxY() - _ordxAxe); - } - } - - private void fillYZone(final Graphics2D _g, final GrBoite _targetBoite, final int _absyAxe, final GrBoite _ecranBoite) { - if (_ecranBoite.getMinX() < _absyAxe) { - _g.setColor(vue_.getBackground()); - _g.fillRect(0, 0, _absyAxe, (int) _targetBoite.getMaxY()); - } - } - - protected void drawYGraduations(final Graphics2D _g, final TDoubleArrayList _yValue, final TIntArrayList _yStrWidth, - final List _yString, final GrMorphisme _versEcran, final int _marge, final int _absyAxe, final int _ordxAxe, - final GrBoite _ecranBoite, final double _maxXForAxe) { - final int nb = _yString.size(); - final int tiret = getTiretLength(); - final Font font = getFont(); - final FontMetrics fm = font == null ? null : _g.getFontMetrics(font); - final int ascent = fm == null ? 0 : fm.getAscent(); - int idxStr = -1; - final Color fg = getDrawColor(); - final Color subColor = getSubColor(); - GrPoint tmpSousGrille_ = new GrPoint(); - double longueurMoyenne = 0; - TraceLigne tl = new TraceLigne(traceGraduations_); - TraceLigne t1sousGrad = new TraceLigne(traceSousGraduations_); - for (int i = 0; i < nb; i++) { - tmp_.y_ = _yValue.getQuick(i); - tmp_.autoApplique(_versEcran); - if (tmp_.y_ > _ordxAxe) { - continue; - } - if (tmp_.y_ < _ecranBoite.getMinY()) { - break; - } - // le tiret - // tl_.setTypeTrait(TraceLigne.LISSE); - // tl_.setCouleur(fg); - final int w = _yStrWidth.getQuick(i); - tl.dessineTrait(_g, _absyAxe, tmp_.y_, _absyAxe - (w > 0 ? tiret : tiret - 2), tmp_.y_); - if (w > 0 && (tmp_.y_ < idxStr || idxStr < 0)) { - _g.setColor(fg); - _g.drawString((String) _yString.get(i), (_absyAxe - w - tiret - _marge), (int) (tmp_.y_ + ascent / 2D)); - idxStr = (int) (tmp_.y_ - ascent / 2D - 3D); - } - - // // -- on trace ou non les sous graduations --// - // if ((w > 0 || i == nb - 2) && drawSousGrilleY_ && i > 0 && i < nb - 1) { - // int valNextPotable = -1; - // for (int j = i + 1; valNextPotable == -1 && j < _yStrWidth.size(); j++) - // if (_yStrWidth.getQuick(j) > 0) valNextPotable = j; - // - // if (i == nb - 2) { - // // -- la fin il faut creer le nouveau - // valNextPotable = nb - 1; - // _yValue.set(valNextPotable, _yValue.get(i) + longueurMoyenne); - // } - // - // if (valNextPotable != -1) { - // - // tmpSousGrille_.y_ = _yValue.getQuick(valNextPotable); - // tmpSousGrille_.autoApplique(_versEcran); - // double distanceEntre2Trait = Math.abs(tmpSousGrille_.y_ - tmp_.y_); - // int nbSousGrilles = 0; - // int taillePasSousgrille = 0; - // if (!this.modeLongueurPasSousGradY_) { - // // -- on trace des nombre de cesure --// - // nbSousGrilles = this.getNbYSousGraduations(); - // if (nbSousGrilles != 0) taillePasSousgrille = (int) ((distanceEntre2Trait) / nbSousGrilles); - // } else { - // // -- on trace des pas par longueur --// - // double ratio = (_yValue.getQuick(valNextPotable) - _yValue.getQuick(i)); - // if (ratio != 0) ratio = this.valeurPasSousGradY_ / ratio; - // - // taillePasSousgrille = (int) (ratio * distanceEntre2Trait); - // if (taillePasSousgrille != 0) nbSousGrilles = (int) (distanceEntre2Trait / taillePasSousgrille); - // } - // // -- si on a des bons pas et nb de grilles --// - // if (nbSousGrilles > 0 && taillePasSousgrille > 0 && taillePasSousgrille < distanceEntre2Trait) { - // - // for (int k = 0; k < nbSousGrilles + 1; k++) { - // // -- on trace un trait de couleur de subgrid --// - // // t1sousGrad.setTypeTrait(TraceLigne.POINTILLE); - // // t1sousGrad.setEpaisseur((float) 0.1); - // // t1sousGrad.setCouleur(this.couleurSousGraduation_); - // double longueur = ((k) * taillePasSousgrille); - // tmpSousGrille_.autoApplique(_versEcran); - // t1sousGrad.dessineTrait(_g, _absyAxe, tmp_.y_ + longueur, _maxXForAxe, tmp_.y_ + longueur); - // } - // longueurMoyenne = (int) (_yValue.getQuick(valNextPotable) - _yValue.getQuick(i)); - // } - // - // } - // } - - if (drawGrid_ && w > 0) { - // tl.setTypeTrait(TraceLigne.TIRETE); - // tl.setEpaisseur(1); - // tl.setCouleur(subColor); - tl.dessineTrait(_g, _absyAxe, tmp_.y_, _maxXForAxe, tmp_.y_); - } - } - } - - private Color getSubColor() { - Color subColor = attenueCouleur(getForeground()); - if (isAttenue()) { - subColor = attenueCouleur(subColor); - } - return subColor; - } - - private Color getDrawColor() { - Color fg = getForeground(); - if (isAttenue()) { - fg = attenueCouleur(fg); - } - return fg; - } - - final GrPoint tmp_ = new GrPoint(); - - private void drawXGraduations(final Graphics2D _g, final GrBoite _targetBoite, final TDoubleArrayList _xValue, - final TIntArrayList _xStrWidth, final List _xString, final int _absyAxe, final int _ordxAxe, - final GrBoite _ecranBoite, final double _minYForAxe, final int _ordXString) { - - // final Color fg = getDrawColor(); - // final Color subColor = getSubColor(); - int idxStr = -1; - final GrMorphisme versEcran = getVersEcran(); - final int tiret = getTiretLength(); - final TraceLigne gtl = new TraceLigne(traceGraduations_); - final TraceLigne gtlsousGrad = new TraceLigne(traceSousGraduations_); - // pour desinner les petites graduations - gtl.setTypeTrait(TraceLigne.LISSE); - gtlsousGrad.setTypeTrait(TraceLigne.LISSE); - - GrPoint tmpSousGrille = new GrPoint(); - double longueurMoyenne = 0; - final int nb = _xString.size(); - for (int i = 0; i < nb; i++) { - tmp_.x_ = _xValue.getQuick(i); - tmp_.autoApplique(versEcran); - if (tmp_.x_ < _absyAxe) { - continue; - } - if (tmp_.x_ > _ecranBoite.getMaxX()) { - break; - } - final int w = _xStrWidth.getQuick(i); - if (w > 0 || drawSousGrilleX_) { - TraceLigne lg = gtl; - if (w <= 0) { - lg = gtlsousGrad; - - } - lg.setTypeTrait(TraceLigne.LISSE); - lg.dessineTrait(_g, tmp_.x_, _ordxAxe, tmp_.x_, _ordxAxe + (w > 0 ? tiret : tiret - 2)); - } - if (w > 0) { - final int start = (int) (tmp_.x_ - w / 2D); - if (start > idxStr + 1 && start + w < _targetBoite.getMaxX()) { - _g.setColor(gtl.getCouleur()); - _g.drawString((String) _xString.get(i), start, _ordXString); - idxStr = start + w; - } - } - - // // -- on trace ou non les sous graduations --// - // if ((w > 0 || i == nb - 2) && drawSousGrilleX_ && i < nb - 1) { - // int valNextPotable = -1; - // for (int j = i + 1; valNextPotable == -1 && j < _xStrWidth.size(); j++) - // if (_xStrWidth.getQuick(j) > 0) valNextPotable = j; - // if (i == nb - 2) { - // // -- la fin il faut creer le nouveau - // valNextPotable = nb - 1; - // _xValue.set(valNextPotable, _xValue.get(i) + longueurMoyenne); - // } - // if (valNextPotable != -1) { - // - // tmpSousGrille.x_ = _xValue.getQuick(valNextPotable); - // tmpSousGrille.autoApplique(versEcran); - // double distanceEntre2Trait = Math.abs(tmpSousGrille.x_ - tmp_.x_); - // int nbSousGrilles = 0; - // int taillePasSousgrille = 0; - // if (!this.modeLongueurPasSousGradX_) { - // // -- on trace des nombre de cesure --// - // nbSousGrilles = this.getNbXSousGraduations(); - // if (nbSousGrilles != 0) taillePasSousgrille = (int) ((distanceEntre2Trait) / nbSousGrilles); - // } else { - // // -- on trace des pas par longueur --// - // double ratio = (_xValue.getQuick(valNextPotable) - _xValue.getQuick(i)); - // if (ratio != 0) ratio = this.valeurPasSousGradX_ / ratio; - // - // taillePasSousgrille = (int) (ratio * distanceEntre2Trait); - // if (taillePasSousgrille != 0) nbSousGrilles = (int) (distanceEntre2Trait / taillePasSousgrille); - // } - // // -- si on a des bons pas et nb de grilles --// - // if (nbSousGrilles > 0 && taillePasSousgrille > 0 && taillePasSousgrille < distanceEntre2Trait) { - // - // for (int k = 0; k < nbSousGrilles + 1; k++) { - // // -- on trace un trait de couleur de subgrid --// - // // gtlsousGrad.setTypeTrait(TraceLigne.POINTILLE); - // // gtlsousGrad.setEpaisseur((float) 0.1); - // // gtlsousGrad.setCouleur(this.couleurSousGraduation_); - // double longueur = ((k) * taillePasSousgrille); - // tmpSousGrille.autoApplique(versEcran); - // gtlsousGrad.dessineTrait(_g, tmp_.x_ + longueur, _ordxAxe, tmp_.x_ + longueur, _minYForAxe); - // } - // - // longueurMoyenne = (int) (_xValue.getQuick(valNextPotable) - _xValue.getQuick(i)); - // } - // - // } - // } - if (drawGrid_) { - TraceLigne l = null; - if (w > 0) { - gtl.getModel().updateData(traceGraduations_); - l = gtl; - } else if (drawSousGrilleX_) { - gtlsousGrad.getModel().updateData(traceSousGraduations_); - l = gtlsousGrad; - } - if (l != null) l.dessineTrait(_g, tmp_.x_, _ordxAxe, tmp_.x_, _minYForAxe); - } - - } - } - - private void drawYaxe(final Graphics2D _g, final GrBoite _zv, final TDoubleArrayList _xValue, - final TDoubleArrayList _yValue, final GrMorphisme _versEcran, final int _absyAxe, final int _ordxAxe, - final double _minYForAxe) { - int minYDraw = _ordxAxe; - int maxYDraw = (int) _minYForAxe; - - // if (useCustom_) { - // tmp_.y_ = _zv.getMinY(); - // if (_yValue.size() > 0) { - // tmp_.y_ = Math.min(_yValue.get(0), tmp_.y_); - // } - // tmp_.autoApplique(_versEcran); - // tmp_.y_ = Math.floor(tmp_.y_); - // if (tmp_.y_ > minYDraw) { - // minYDraw = (int) tmp_.y_; - // } - // tmp_.y_ = _zv.getMaxY(); - // if (_yValue.size() > 1) { - // tmp_.y_ = Math.max(_yValue.get(_yValue.size() - 1), tmp_.y_); - // } - // tmp_.autoApplique(_versEcran); - // tmp_.y_ = Math.ceil(tmp_.y_); - // if (tmp_.y_ < maxYDraw) { - // maxYDraw = (int) tmp_.y_; - // } - // } - tl_.setCouleur(getDrawColor()); - tl_.setTypeTrait(TraceLigne.LISSE); - tl_.dessineTrait(_g, _absyAxe, minYDraw, _absyAxe, maxYDraw); - } - - final TraceLigne tl_ = new TraceLigne(); - - private void drawXAxe(final Graphics2D _g, final GrBoite _zv, final TDoubleArrayList _xValue, - final GrMorphisme _versEcran, final int _absyAxe, final int _ordxAxe, final double _maxXForAxe) { - int minXDraw = _absyAxe; - int maxXDraw = (int) _maxXForAxe; - - tl_.setCouleur(getDrawColor()); - tl_.setTypeTrait(TraceLigne.LISSE); - tl_.dessineTrait(_g, minXDraw, _ordxAxe, maxXDraw, _ordxAxe); - } - - private void computeXValues(final GrBoite _zv, final Graphics2D _g, final TDoubleArrayList _xValue, - final TIntArrayList _xStrWidth, final List _xString) { - - final Font font = getFont(); - if (font != null) { - _g.setFont(font); - } - final FontMetrics fm = font == null ? null : _g.getFontMetrics(font); - TickIterator it = createXTickIterator(_zv); - if (it == null) return; - // _it= - while (it.hasNext()) { - final double x = it.currentValue(); - _xValue.add(x); - - if (font == null || !it.isMajorTick()) { - _xStrWidth.add(0); - _xString.add(CtuluLibString.EMPTY_STRING); - } else { - final String currentLabel = it.currentLabel(); - _xStrWidth.add(fm.stringWidth(currentLabel)); - _xString.add(currentLabel); - } - it.next(); - } - } - - private TickIterator createXTickIterator(final GrBoite _zv) { - NumberIterator it = new NumberIterator(); - it.setMaxFractionDigits(2); - if (!modeAutomatiqueX_) { - if (modeLongueurPasX_) { - it.initExactFromDist(_zv.getMinX(), _zv.getMaxX(), this.valeurPasX_, nbSousGraduationX_); - } else { - it.initExact(_zv.getMinX(), _zv.getMaxX(), getNbXGraduations(), nbSousGraduationX_); - } - } else { - it.init(_zv.getMinX(), _zv.getMaxX(), getNbXGraduations()); - } - return it; - } - - private TickIterator createYIterator(final GrBoite _zv) { - NumberIterator it = new NumberIterator(); - it.setMaxFractionDigits(2); - // -- mode manuel --// - if (!modeAutomatiqueY_) { - if (modeLongueurPasY_) { - it.initExactFromDist(_zv.getMinY(), _zv.getMaxY(), this.valeurPasY_, nbSousGraduationY_); - } else { - it.initExact(_zv.getMinY(), _zv.getMaxY(), getNbYGraduations(), nbSousGraduationY_); - } - } else { - it.init(_zv.getMinY(), _zv.getMaxY(), getNbYGraduations()); - } - return it; - } - - public boolean isModeAutomatiqueX() { - return modeAutomatiqueX_; - } - - public void setModeAutomatiqueX(boolean modeAutomatiqueX) { - this.modeAutomatiqueX_ = modeAutomatiqueX; - } - - public boolean isModeAutomatiqueY() { - return modeAutomatiqueY_; - } - - public void setModeAutomatiqueY(boolean modeAutomatiqueY) { - this.modeAutomatiqueY_ = modeAutomatiqueY; - } - - // /** - // * Remplit les graduations correctement: nb cesures= nombre de trait sur l'ecran que ce soit pour le mode par taille - // * de pas ou par nb de cesures. - // * - // * @param nbGraduations - // * @param min - // * @param max - // * @param _xValue - // * @param _xStrWidth - // * @param _xString - // */ - // private double fillGraduations(Graphics2D _g, int nbGraduations, double min, double max, - // final TDoubleArrayList _xValue, final TIntArrayList _xStrWidth, final List _xString, FontMetrics fm) { - // - // // -- distance tot a couvrir --// - // final double distance = max - min;// e - // final int taillePas = Math.max(1, (int) (distance / nbGraduations)); - // double yMax = 0; - // - // NumberIteratorGraduationsFixe _it = new NumberIteratorGraduationsFixe(); - // _it.init(min, max, nbGraduations); - // - // while (_it.hasNext()) { - // final double x = _it.currentValue(); - // _xValue.add(x); - // final String currentLabel = _it.currentLabel(); - // int stringWidth = fm.stringWidth(currentLabel); - // _xStrWidth.add(stringWidth); - // if (stringWidth > yMax) { - // yMax = stringWidth; - // } - // _xString.add(currentLabel); - // - // _it.next(); - // } - // - // return yMax; - // - // } - // - // /** - // * Remplit les graduations correctement: nb cesures= nombre de trait sur l'ecran que ce soit pour le mode par taille - // * de pas ou par nb de cesures. - // * - // * @param nbGraduations - // * @param min - // * @param max - // * @param _xValue - // * @param _xStrWidth - // * @param _xString - // */ - // private double fillGraduationsWithPas(Graphics2D _g, double pas, double min, double max, - // final TDoubleArrayList _xValue, final TIntArrayList _xStrWidth, final List _xString, FontMetrics fm) { - // DecimalFormat df = new DecimalFormat("#.0"); - // // -- distance tot a couvrir --// - // final double distance = max - min; - // final double taillePas = pas; - // if (pas == 0) return 0; - // int nbGraduations = (int) (distance / taillePas); - // double yMax = 0; - // - // for (int i = 0; i < nbGraduations + 1; i++) { - // double cesure = (min + (taillePas * (i))); - // _xValue.add(cesure); - // String currentLabel; - // - // currentLabel = df.format(cesure); - // - // String chiffreApresVirgule = currentLabel.substring(currentLabel.lastIndexOf(",") + 1); - // if (chiffreApresVirgule.equals("0")) currentLabel = "" + (int) cesure; - // _xString.add(currentLabel); - // _xStrWidth.add(fm.stringWidth(currentLabel)); - // final double stringWidth = fm == null ? 0 : fm.getStringBounds(currentLabel, _g).getWidth(); - // if (stringWidth > yMax) { - // yMax = stringWidth; - // } - // - // if (i == nbGraduations) { - // if (cesure < max) nbGraduations++;// ATTENTION boucle infinie ! - // } - // if (i > 100) break;// a enlever bugfix temporaire. - // - // } - // return yMax; - // - // } - - private double computeYValues(final Graphics2D _g, final GrBoite _zv, final TDoubleArrayList _yValue, - final TIntArrayList _yStrWidth, final List _yString) { - final Font font = getFont(); - if (font != null) { - _g.setFont(font); - } - final FontMetrics fm = font == null ? null : _g.getFontMetrics(font); - double yMax = 0; - TickIterator it = createYIterator(_zv); - - if (it == null) return 0; - - while (it.hasNext()) { - - final double x = it.currentValue(); - _yValue.add(x); - if (font == null || !it.isMajorTick()) { - _yStrWidth.add(0); - _yString.add(CtuluLibString.EMPTY_STRING); - } else { - final String currentLabel = it.currentLabel(); - final double stringWidth = fm == null ? 0 : fm.getStringBounds(currentLabel, _g).getWidth(); - if (stringWidth > yMax) { - yMax = stringWidth; - } - _yStrWidth.add((int) stringWidth); - _yString.add(currentLabel); - } - it.next(); - } - return yMax; - } - - // private void updateBounds(final GrBoite _zv) { - // if (useCustom_ && customBounds_ != null) { - // _zv.o_.x_ = Math.max(_zv.o_.x_, customBounds_.getMinX()); - // _zv.e_.x_ = Math.min(_zv.e_.x_, customBounds_.getMaxX()); - // _zv.o_.y_ = Math.max(_zv.o_.y_, customBounds_.getMinY()); - // _zv.e_.y_ = Math.min(_zv.e_.y_, customBounds_.getMaxY()); - // } - // } - - // Icon - /** - * Dessin de l'icone. - * - * @param _c composant dont l'icone peut deriver des proprietes (couleur, ...). Ce parametre peut etre <I>null</I>. Il - * est ignore ici. - * @param _g le graphics sur lequel dessiner l'icone - * @param _x lieu cible de l'icone (x) - * @param _y lieu cible de l'icone (y) - */ - public void paintIcon(final Component _c, final Graphics _g, final int _x, final int _y) { - super.paintIcon(_c, _g, _x, _y); - Color fg = getForeground(); - if (isAttenue()) { - fg = attenueCouleur(fg); - } - _g.setColor(fg); - final int w = getIconWidth(); - final int h = getIconHeight(); - for (int i = 6; i < w - 2; i += 8) { - _g.drawLine(_x + i, _y + 1, _x + i, _y + h - 1); - } - for (int j = 6; j < h - 2; j += 8) { - _g.drawLine(_x + 1, _y + j, _x + w - 1, _y + j); - } - } - - public void paintSelection(final Graphics2D _g, final ZSelectionTrace _trace, final GrMorphisme _versEcran, - final GrBoite _clipReel) {} - - public CtuluListSelection selection(final GrPoint _pt, final int _tolerance) { - return null; - } - - public CtuluListSelection selection(final LinearRing _poly, final int _mode) { - return null; - } - - public LineString getSelectedLine() { - return null; - } - - /** - * Affectation de la propriete <I>boite</I>. - */ - // public void setBoite(final GrBoite _v) { - // if (boite_ != _v) { - // final GrBoite vp = boite_; - // boite_ = _v; - // firePropertyChange("boite", vp, _v); - // } - // } - public void setVisible(final boolean _v) { - // if (_v && boite_ == null) { - // boite_ = vue_.getAbstractCalque().getDomaine(); - // } - if (!_v) { - vue_.setUserInsets(null); - super.setVisible(false); - } else { - super.setVisible(_v); - } - firePropertyChange("grille", true, false); - - } - - public boolean isDrawGrid() { - return drawGrid_; - } - - public void setDrawGrid(final boolean _drawGrid) { - if (_drawGrid != drawGrid_) { - drawGrid_ = _drawGrid; - grilleChanged(); - } - } - - // public boolean isUseCustom() { - // return useCustom_; - // } - // - // public void setUseCustom(final boolean _useCustom) { - // if (useCustom_ != _useCustom) { - // useCustom_ = _useCustom; - // repaint(); - // } - // } - // - // public Envelope getCustomBounds() { - // return customBounds_ == null ? null : new Envelope(customBounds_); - // } - // - // public void setCustomBounds(final Envelope _customBounds) { - // if (customBounds_ != _customBounds) { - // customBounds_ = _customBounds; - // repaint(); - // } - // } - - public boolean isDrawX() { - return drawX_; - } - - public void setDrawX(final boolean _drawX) { - if (drawX_ != _drawX) { - drawX_ = _drawX; - grilleChanged(); - } - } - - public boolean isDrawY() { - return drawY_; - } - - public void setDrawY(final boolean _drawY) { - if (drawY_ != _drawY) { - drawY_ = _drawY; - grilleChanged(); - } - } - - public void setDrawSousGrilleY(final boolean _drawY) { - if (drawSousGrilleY_ != _drawY) { - drawSousGrilleY_ = _drawY; - grilleChanged(); - } - } - - public void setDrawSousGrilleX(final boolean _drawX) { - if (drawSousGrilleX_ != _drawX) { - drawSousGrilleX_ = _drawX; - grilleChanged(); - } - } - - private void grilleChanged() { - repaint(); - firePropertyChange("grille", true, false); - } - - @Override - public EbliUIProperties saveUIProperties() { - final EbliUIProperties res = super.saveUIProperties(); - res.put("graduation.x.nb", getNbXGraduations()); - res.put("graduation.y.nb", getNbYGraduations()); - res.put("graduation.x.visible", isDrawX()); - res.put("graduation.y.visible", isDrawY()); - res.put("grille.visible", isDrawGrid()); - return res; - } - - @Override - public void initFrom(EbliUIProperties _p) { - super.initFrom(_p); - if (_p.isDefined("graduation.x.nb")) { - setNbGraduationX(_p.getInteger("graduation.x.nb")); - } - if (_p.isDefined("graduation.y.nb")) { - setNbGraduationX(_p.getInteger("graduation.y.nb")); - } - if (_p.isDefined("graduation.y.visible")) { - setDrawY(_p.getBoolean("graduation.y.visible")); - } - if (_p.isDefined("graduation.x.visible")) { - setDrawX(_p.getBoolean("graduation.x.visible")); - } - if (_p.isDefined("grille.visible")) { - setDrawGrid(_p.getBoolean("grille.visible")); - } - } - - public void setNbGraduationX(final int _nbGraduationX) { - if (_nbGraduationX > 0 /* && nbGraduationX_ != _nbGraduationX */) { - nbGraduationX_ = _nbGraduationX; - modeLongueurPasX_ = false; - grilleChanged(); - } - } - - public void setLenghtStepsX(final double _lenghtSteps) { - GrBoite boite = vue_.getViewBoite(); - if (_lenghtSteps == 0) return; - double max = boite.getMaxX(); - int nbGraduationsX = (int) (max / _lenghtSteps); - if (nbGraduationsX + 1 > 0 /* && nbGraduationsX+1!=nbGraduationX_ */) { - nbGraduationX_ = nbGraduationsX; - valeurPasX_ = _lenghtSteps; - modeLongueurPasX_ = true; - grilleChanged(); - } - - } - - public void setLenghtStepsY(final double _lenghtSteps) { - GrBoite boite = vue_.getViewBoite(); - if (_lenghtSteps == 0) return; - int nbGraduationsY = (int) (boite.getMaxY() / _lenghtSteps); - if (nbGraduationsY > 0 /* && nbGraduationsY!=nbGraduationY_ */) { - nbGraduationY_ = nbGraduationsY; - valeurPasY_ = _lenghtSteps; - modeLongueurPasY_ = true; - grilleChanged(); - } - - } - - public void setNbGraduationY(final int _nbGraduationY) { - if (_nbGraduationY > 0 /* && nbGraduationY_ != _nbGraduationY */) { - nbGraduationY_ = _nbGraduationY; - modeLongueurPasY_ = false; - grilleChanged(); - } - } - - // public void setLenghtStepsSousGradX(final double _lenghtSteps) { - // GrBoite boite = vue_.getViewBoite(); - // if (_lenghtSteps == 0) return; - // int nbSousGraduationsX = (int) (boite.getMaxY() / _lenghtSteps); - // if (nbSousGraduationsX > 0) { - // nbSousGraduationX_ = nbSousGraduationsX; - // valeurPasSousGradX_ = _lenghtSteps; - // modeLongueurPasSousGradX_ = true; - // grilleChanged(); - // } - // - // } - - public void setNbGraduationSousGradX(final int _nbGraduation) { - if (_nbGraduation + 1 > 0) { - nbSousGraduationX_ = _nbGraduation + 1; - // modeLongueurPasSousGradX_ = false; - grilleChanged(); - } - } - - // public void setLenghtStepsSousGradY(final double _lenghtSteps) { - // GrBoite boite = vue_.getViewBoite(); - // if (_lenghtSteps == 0) return; - // int nbSousGraduationsY = (int) (boite.getMaxY() / _lenghtSteps); - // if (nbSousGraduationsY > 0) { - // nbSousGraduationY_ = nbSousGraduationsY; - // valeurPasSousGradY_ = _lenghtSteps; - // modeLongueurPasSousGradY_ = true; - // grilleChanged(); - // } - // - // } - - public void setNbGraduationSousGradY(final int _nbGraduation) { - if (_nbGraduation + 1 > 0) { - nbSousGraduationY_ = _nbGraduation + 1; - // modeLongueurPasSousGradY_ = false; - grilleChanged(); - } - } - - public boolean isModeLongueurPasX() { - return modeLongueurPasX_; - } - - public void setModeLongueurPasX(boolean _modeLongueurPasX) { - this.modeLongueurPasX_ = _modeLongueurPasX; - } - - public double getValeurPasX_() { - return valeurPasX_; - } - - public void setValeurPasX_(int valeurPasX_) { - this.valeurPasX_ = valeurPasX_; - } - - public double getValeurPasY_() { - return valeurPasY_; - } - - public void setValeurPasY_(int valeurPasY_) { - this.valeurPasY_ = valeurPasY_; - } - - // public double getValeurPasSousGradX_() { - // return valeurPasSousGradX_; - // } - // - // public void setValeurPasSousGradX_(int valeurPasSousGradX_) { - // this.valeurPasSousGradX_ = valeurPasSousGradX_; - // } - - // public double getValeurPasSousGradY_() { - // return valeurPasSousGradY_; - // } - // - // public void setValeurPasSousGradY_(int valeurPasSousGradY_) { - // this.valeurPasSousGradY_ = valeurPasSousGradY_; - // } - - public TraceLigneModel getTraceGraduations_() { - return traceGraduations_; - } - - public void modifieTraceGraduations(TraceLigneModel _traceGraduations) { - this.traceGraduations_.updateData(_traceGraduations); - grilleChanged(); - } - - public TraceLigneModel getTraceSousGraduations_() { - return traceSousGraduations_; - } - - public void modifieSousGraduations(TraceLigneModel _traceSousGraduations) { - this.traceSousGraduations_.updateData(_traceSousGraduations); - grilleChanged(); - } - -} +/* + * @file BCalqueGrille.java + * @creation 1998-09-03 + * @modification $Date: 2008-02-20 10:14:40 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ebli.calque; + +import gnu.trove.TDoubleArrayList; +import gnu.trove.TIntArrayList; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Insets; +import java.util.ArrayList; +import java.util.List; + +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.CtuluListSelection; +import org.fudaa.ctulu.iterator.NumberIterator; +import org.fudaa.ctulu.iterator.TickIterator; +import org.fudaa.ebli.commun.EbliLib; +import org.fudaa.ebli.commun.EbliUIProperties; +import org.fudaa.ebli.geometrie.GrBoite; +import org.fudaa.ebli.geometrie.GrMorphisme; +import org.fudaa.ebli.geometrie.GrPoint; +import org.fudaa.ebli.trace.TraceLigne; +import org.fudaa.ebli.trace.TraceLigneModel; + +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.geom.LinearRing; + +/** + * Un calque d'affichage d'une grille. + * + * @version $Revision: 1.11.6.1 $ $Date: 2008-02-20 10:14:40 $ by $Author: bmarchan $ + * @author Guillaume Desnoix + */ +public class ZCalqueGrille extends ZCalqueAffichageDonnees { + /** + * caratere visible de l'axe x + */ + public static final String AXIS_X_VISIBLE = "axis.x.visible"; + /** + * caratere visible de l'axe y + */ + public static final String AXIS_Y_VISIBLE = "axis.y.visible"; + /** + * propriete pour la taille des graduations sur l'axe x + */ + public static final String GRADUATION_X_LENGTH = "graduation.x.length"; + /** + * propriete pour le calcul automatique le nombre de graduation sur l'axe x + */ + public static final String GRADUATION_X_MODE_AUTO = "graduation.x.auto"; + /** + * propriete pour le nombre de graduation sur l'axe x + */ + public static final String GRADUATION_X_MODE_LENGTH = "graduation.x.mode.length"; + /** + * propriete pour le nombre de graduation sur l'axe x + */ + public static final String GRADUATION_X_NB = "graduation.x.nb"; + /** + * propriete pour la taille des graduations sur l'axe y + */ + public static final String GRADUATION_Y_LENGTH = "graduation.y.length"; + /** + * propriete pour le nombre de graduation sur l'axe y + */ + public static final String GRADUATION_Y_MODE_AUTO = "graduation.y.auto"; + /** + * propriete pour le nombre de graduation sur l'axe y + */ + public static final String GRADUATION_Y_MODE_LENGTH = "graduation.y.mode.length"; + /** + * propriete pour le nombre de graduation sur l'axe y + */ + public static final String GRADUATION_Y_NB = "graduation.y.nb"; + + /** + * caratere visible de la grille + */ + public static final String GRID_VISIBLE = "grille.visible"; + /** + * propriete pour le nombre de graduation mineure sur l'axe x + */ + public static final String MINOR_GRADUATION_X_NB = "minor.graduation.x.nb"; + /** + * visibilite des graduations mineures de l'axe x + */ + public static final String MINOR_GRADUATION_X_VISIBLE = "minor.graduation.x.visible"; + /** + * propriete pour le nombre de graduation mineure sur l'axe y + */ + public static final String MINOR_GRADUATION_Y_NB = "minor.graduation.y.nb"; + /** + * visibilite des graduations mineures de l'axe y + */ + public static final String MINOR_GRADUATION_Y_VISIBLE = "minor.graduation.y.visible"; + private TraceLigneModel traceSousGraduations_; + private boolean xMinorDraw_ = false; + boolean yMinorDraw_ = false; + private boolean yModeLongueur_ = false; + /** + * Indique si on utilise par taille de pas ou par nombre de graduations + */ + boolean xModeLongueur_ = false; + boolean gridDraw_; + final TraceLigne tl_ = new TraceLigne(); + + final GrPoint tmp_ = new GrPoint(); + final BVueCalque vue_; + + boolean xDraw_ = true; + boolean yDraw_ = true; + /** + * Valeur du pas que devront suivrent tous les traits de la grilles si on en mode taille pas. + */ + double xLength_; + double yLength_; + + // -- sous graduations --// + int xMinorGraduationNb_ = 3; + int yMinorGraduationNb_ = 3; + + /** + * Indique la facon de calculer les graduations. pour l'axe des x. + */ + boolean xModeAuto_ = false; + /** + * Indique la facon de calculer les graduations. pour l'axe des y. + */ + boolean yModeAuto_ = false; + + int xNbGraduation_ = 10; + int yNbGraduation_ = 10; + + public ZCalqueGrille(final BVueCalque _vue) { + super(); + vue_ = _vue; + setDestructible(false); + setName("cqGrille"); + setTitle(EbliLib.getS("Grille")); + setForeground(Color.BLACK); + traceSousGraduations_ = new TraceLigneModel(TraceLigne.TIRETE, 0.5F, Color.GRAY); + ligneModel_ = new TraceLigneModel(TraceLigne.LISSE, 1F, Color.BLACK); + } + + // boolean modeLongueurPasSousGradX_ = false; + // boolean modeLongueurPasSousGradY_ = false; + // + // double valeurPasSousGradX_; + // double valeurPasSousGradY_; + + // private Color couleurSousGraduation_ = Color.blue; + + private void computeXValues(final GrBoite _zv, final Graphics2D _g, final TDoubleArrayList _xValue, + final TIntArrayList _xStrWidth, final List _xString) { + + final Font font = getFont(); + if (font != null) { + _g.setFont(font); + } + final FontMetrics fm = font == null ? null : _g.getFontMetrics(font); + TickIterator it = createXTickIterator(_zv); + if (it == null) { + return; + } + // _it= + while (it.hasNext()) { + final double x = it.currentValue(); + _xValue.add(x); + + if (font == null || !it.isMajorTick()) { + _xStrWidth.add(0); + _xString.add(CtuluLibString.EMPTY_STRING); + } else { + final String currentLabel = it.currentLabel(); + _xStrWidth.add(fm.stringWidth(currentLabel)); + _xString.add(currentLabel); + } + it.next(); + } + } + + private double computeYValues(final Graphics2D _g, final GrBoite _zv, final TDoubleArrayList _yValue, + final TIntArrayList _yStrWidth, final List _yString) { + final Font font = getFont(); + if (font != null) { + _g.setFont(font); + } + final FontMetrics fm = font == null ? null : _g.getFontMetrics(font); + double yMax = 0; + TickIterator it = createYIterator(_zv); + + if (it == null) { + return 0; + } + + while (it.hasNext()) { + + final double x = it.currentValue(); + _yValue.add(x); + if (font == null || !it.isMajorTick()) { + _yStrWidth.add(0); + _yString.add(CtuluLibString.EMPTY_STRING); + } else { + final String currentLabel = it.currentLabel(); + final double stringWidth = fm == null ? 0 : fm.getStringBounds(currentLabel, _g).getWidth(); + if (stringWidth > yMax) { + yMax = stringWidth; + } + _yStrWidth.add((int) stringWidth); + _yString.add(currentLabel); + } + it.next(); + } + return yMax; + } + + private TickIterator createXTickIterator(final GrBoite _zv) { + NumberIterator it = new NumberIterator(); + it.setMaxFractionDigits(2); + if (!xModeAuto_) { + if (xModeLongueur_) { + it.initExactFromDist(_zv.getMinX(), _zv.getMaxX(), this.xLength_, xMinorGraduationNb_ + 1); + } else { + it.initExact(_zv.getMinX(), _zv.getMaxX(), getNbXGraduations(), xMinorGraduationNb_ + 1); + } + } else { + it.init(_zv.getMinX(), _zv.getMaxX(), getNbXGraduations()); + } + return it; + } + + private TickIterator createYIterator(final GrBoite _zv) { + NumberIterator it = new NumberIterator(); + it.setMaxFractionDigits(2); + // -- mode manuel --// + if (!yModeAuto_) { + if (isYModeLongueur()) { + it.initExactFromDist(_zv.getMinY(), _zv.getMaxY(), this.yLength_, yMinorGraduationNb_ + 1); + } else { + it.initExact(_zv.getMinY(), _zv.getMaxY(), getNbYGraduations(), yMinorGraduationNb_ + 1); + } + } else { + it.init(_zv.getMinY(), _zv.getMaxY(), getNbYGraduations()); + } + return it; + } + + private void drawXAxe(final Graphics2D _g, final GrBoite _zv, final TDoubleArrayList _xValue, + final GrMorphisme _versEcran, final int _absyAxe, final int _ordxAxe, final double _maxXForAxe) { + int minXDraw = _absyAxe; + int maxXDraw = (int) _maxXForAxe; + + tl_.setCouleur(getDrawColor()); + tl_.setTypeTrait(TraceLigne.LISSE); + tl_.dessineTrait(_g, minXDraw, _ordxAxe, maxXDraw, _ordxAxe); + } + + private void drawYaxe(final Graphics2D _g, final GrBoite _zv, final TDoubleArrayList _xValue, + final TDoubleArrayList _yValue, final GrMorphisme _versEcran, final int _absyAxe, final int _ordxAxe, + final double _minYForAxe) { + int minYDraw = _ordxAxe; + int maxYDraw = (int) _minYForAxe; + + tl_.setCouleur(getDrawColor()); + tl_.setTypeTrait(TraceLigne.LISSE); + tl_.dessineTrait(_g, _absyAxe, minYDraw, _absyAxe, maxYDraw); + } + + private void fillYZone(final Graphics2D _g, final GrBoite _targetBoite, final int _absyAxe, + final GrBoite _ecranBoite) { + if (_ecranBoite.getMinX() < _absyAxe) { + _g.setColor(vue_.getBackground()); + _g.fillRect(0, 0, _absyAxe, (int) _targetBoite.getMaxY()); + } + } + + private Color getDrawColor() { + Color fg = ligneModel_.getCouleur(); + if (isAttenue()) { + fg = attenueCouleur(fg); + } + return fg; + } + + private void grilleChanged() { + repaint(); + firePropertyChange("grille", true, false); + } + + private void grilleChanged(String _prop, boolean newValue) { + repaint(); + firePropertyChange(_prop, !newValue, newValue); + } + + private void grilleChanged(String _prop, double oldValue, double newValue) { + repaint(); + firePropertyChange(_prop, oldValue, newValue); + } + + private void grilleChanged(String _prop, int oldValue, int newValue) { + repaint(); + firePropertyChange(_prop, oldValue, newValue); + } + + void fillXZone(final Graphics2D _g, final GrBoite _targetBoite, final int _absyAxe, final int _ordxAxe, + final GrBoite _ecranBoite) { + if (_ecranBoite.getMaxX() > _ordxAxe) { + _g.setColor(vue_.getBackground()); + _g.fillRect(_absyAxe, _ordxAxe, (int) _targetBoite.getMaxX() - _absyAxe, (int) _targetBoite.getMaxY() + - _ordxAxe); + } + } + + protected void drawYGraduations(final Graphics2D _g, final TDoubleArrayList _yValue, + final TIntArrayList _yStrWidth, final List _yString, final GrMorphisme _versEcran, final int _marge, + final int _absyAxe, final int _ordxAxe, final GrBoite _ecranBoite, final double _maxXForAxe) { + final int nb = _yString.size(); + final int tiret = getTiretLength(); + final Font font = getFont(); + final FontMetrics fm = font == null ? null : _g.getFontMetrics(font); + final int ascent = fm == null ? 0 : (fm.getAscent() - fm.getDescent()); + int idxStr = -1; + final Color fg = getDrawColor(); + tl_.getModel().updateData(ligneModel_); + for (int i = 0; i < nb; i++) { + tmp_.y_ = _yValue.getQuick(i); + tmp_.autoApplique(_versEcran); + if (tmp_.y_ > _ordxAxe) { + continue; + } + if (tmp_.y_ < _ecranBoite.getMinY()) { + break; + } + final int w = _yStrWidth.getQuick(i); + boolean drawGrad = w > 0 || isYMinorDraw(); + if (w <= 0) { + tl_.getModel().updateData(traceSousGraduations_); + } else { + tl_.getModel().updateData(ligneModel_); + } + if (drawGrad) { + int oldType = tl_.getTypeTrait(); + tl_.setTypeTrait(TraceLigne.LISSE); + tl_.dessineTrait(_g, _absyAxe, tmp_.y_, _absyAxe - (w > 0 ? tiret : tiret - 2), tmp_.y_); + tl_.setTypeTrait(oldType); + } + if (w > 0 && (tmp_.y_ < idxStr || idxStr < 0)) { + _g.setColor(fg); + _g.drawString((String) _yString.get(i), (_absyAxe - w - tiret - _marge), (int) (tmp_.y_ + ascent / 2D)); + idxStr = (int) (tmp_.y_ - ascent / 2D - 3D); + } + + if (gridDraw_ && drawGrad) { + tl_.dessineTrait(_g, _absyAxe, tmp_.y_, _maxXForAxe, tmp_.y_); + } + } + } + + private void drawXGraduations(final Graphics2D _g, final GrBoite _targetBoite, final TDoubleArrayList _xValue, + final TIntArrayList _xStrWidth, final List _xString, final int _absyAxe, final int _ordxAxe, + final GrBoite _ecranBoite, final double _minYForAxe, final int _ordXString) { + + int idxStr = -1; + final GrMorphisme versEcran = getVersEcran(); + final int tiret = getTiretLength(); + // tl_.getModel().updateData(ligneModel_); + // final TraceLigne gtlsousGrad = new TraceLigne(traceSousGraduations_.buildCopy()); + + final int nb = _xString.size(); + final Color fg = getDrawColor(); + for (int i = 0; i < nb; i++) { + tmp_.x_ = _xValue.getQuick(i); + tmp_.autoApplique(versEcran); + if (tmp_.x_ < _absyAxe) { + continue; + } + if (tmp_.x_ > _ecranBoite.getMaxX()) { + break; + } + + final int w = _xStrWidth.getQuick(i); + + if (w <= 0) { + tl_.getModel().updateData(traceSousGraduations_); + } else { + tl_.getModel().updateData(ligneModel_); + } + boolean drawGrad = w > 0 || isXMinorDraw(); + if (drawGrad) { + int oldType = tl_.getTypeTrait(); + tl_.setTypeTrait(TraceLigne.LISSE); + tl_.dessineTrait(_g, tmp_.x_, _ordxAxe, tmp_.x_, _ordxAxe + (w > 0 ? tiret : tiret - 2)); + tl_.setTypeTrait(oldType); + } + if (w > 0) { + final int start = (int) (tmp_.x_ - w / 2D); + if (start > idxStr + 1 && start + w < _targetBoite.getMaxX()) { + _g.setColor(fg); + _g.drawString((String) _xString.get(i), start, _ordXString); + idxStr = start + w; + } + } + if (gridDraw_ && drawGrad) { + tl_.dessineTrait(_g, tmp_.x_, _ordxAxe, tmp_.x_, _minYForAxe); + } + + } + } + + /** + * @return the drawSousGrilleY_ + */ + protected boolean isYMinorDraw() { + return yMinorDraw_; + } + + public void changeZoom(double minx, double miny, double maxx, double maxy) { + vue_.changeViewBoite(this, new GrBoite(new GrPoint(minx, miny, 0), new GrPoint(maxx, maxy, 0)), false); + } + + /** + * Accesseur de la propriete <I>boite</I>. Elle donne la position, la taille, le domaine de la grille. + */ + // public GrBoite getBoite() { + // return boite_; + // } + public GrBoite getDomaine() { + return null; + // GrBoite r = null; + // if (isVisible()) { + // GrBoite d = null; + // d = super.getDomaine(); + // r = getBoite(); + // if (d != null) { + // if (r == null) { + // r = d; + // } else { + // r = r.union(d); + // } + // } + // } + // return r; + } + + public GrBoite getDomaineOnSelected() { + return getDomaine(); + } + + /** + * + */ + @Override + public TraceLigneModel getLineModel(int _idx) { + return _idx == 0 ? super.ligneModel_ : traceSousGraduations_; + } + + public int getNbSet() { + return 2; + } + + public int getNbXGraduations() { + return xNbGraduation_; + } + + public int getNbYGraduations() { + return yNbGraduation_; + } + + public Object getProperty(String _name) { + if (GRID_VISIBLE.equals(_name)) { + return Boolean.valueOf(gridDraw_); + } + if (AXIS_X_VISIBLE.equals(_name)) { + return Boolean.valueOf(xDraw_); + } + if (AXIS_Y_VISIBLE.equals(_name)) { + return Boolean.valueOf(yDraw_); + } + if (GRADUATION_X_MODE_AUTO.equals(_name)) { + return Boolean.valueOf(xModeAuto_); + } + if (GRADUATION_Y_MODE_AUTO.equals(_name)) { + return Boolean.valueOf(yModeAuto_); + } + if (MINOR_GRADUATION_Y_VISIBLE.equals(_name)) { + return Boolean.valueOf(yMinorDraw_); + } + if (MINOR_GRADUATION_X_VISIBLE.equals(_name)) { + return Boolean.valueOf(xMinorDraw_); + } + if (GRADUATION_X_MODE_LENGTH.equals(_name)) { + return Boolean.valueOf(xModeLongueur_); + } + if (GRADUATION_Y_MODE_LENGTH.equals(_name)) { + return Boolean.valueOf(yModeLongueur_); + } + if (GRADUATION_X_LENGTH.equals(_name)) { + return Double.valueOf(xLength_); + } + if (GRADUATION_Y_LENGTH.equals(_name)) { + return Double.valueOf(yLength_); + } + if (GRADUATION_X_NB.equals(_name)) { + return Integer.valueOf(xNbGraduation_); + } + if (GRADUATION_Y_NB.equals(_name)) { + return Integer.valueOf(yNbGraduation_); + } + if (MINOR_GRADUATION_X_NB.equals(_name)) { + return Integer.valueOf(xMinorGraduationNb_); + } + if (MINOR_GRADUATION_Y_NB.equals(_name)) { + return Integer.valueOf(yMinorGraduationNb_); + } + return null; + } + + public LineString getSelectedLine() { + return null; + } + + /** + * + */ + @Override + public String getSetTitle(int _idx) { + return EbliLib.getS(_idx == 0 ? "Graduations principales" : "Graduations mineures"); + } + + public int getTiretLength() { + return 3; + } + + public double getValeurPasX() { + return xLength_; + } + + public double getValeurPasY() { + return yLength_; + } + + public int getXMinorGraduationNb() { + return xMinorGraduationNb_; + } + + public int getYMinorGraduationNb() { + return yMinorGraduationNb_; + } + + @Override + public void initFrom(EbliUIProperties _p) { + super.initFrom(_p); + if (_p.isDefined(GRADUATION_X_NB)) { + setNbGraduationX(_p.getInteger(GRADUATION_X_NB)); + } + if (_p.isDefined(GRADUATION_Y_NB)) { + setNbGraduationY(_p.getInteger(GRADUATION_Y_NB)); + } + if (_p.isDefined(AXIS_Y_VISIBLE)) { + setDrawY(_p.getBoolean(AXIS_Y_VISIBLE)); + } + if (_p.isDefined(AXIS_X_VISIBLE)) { + setDrawX(_p.getBoolean(AXIS_X_VISIBLE)); + } + if (_p.isDefined(GRID_VISIBLE)) { + setDrawGrid(_p.getBoolean(GRID_VISIBLE)); + } + if (_p.isDefined(GRADUATION_X_MODE_AUTO)) { + setGraduationXModeAuto(_p.getBoolean(GRADUATION_X_MODE_AUTO)); + } + if (_p.isDefined(GRADUATION_Y_MODE_AUTO)) { + setGraduationYModeAuto(_p.getBoolean(GRADUATION_Y_MODE_AUTO)); + } + if (_p.isDefined(GRADUATION_X_MODE_LENGTH)) { + setModeLongueurX(_p.getBoolean(GRADUATION_X_MODE_LENGTH)); + } + if (_p.isDefined(GRADUATION_Y_MODE_LENGTH)) { + setModeLongueurY(_p.getBoolean(GRADUATION_Y_MODE_LENGTH)); + } + if (_p.isDefined(GRADUATION_X_LENGTH)) { + setXLength(_p.getDouble(GRADUATION_X_LENGTH)); + } + if (_p.isDefined(GRADUATION_Y_LENGTH)) { + setYLength(_p.getDouble(GRADUATION_Y_LENGTH)); + } + if (_p.isDefined(MINOR_GRADUATION_X_VISIBLE)) { + setXMinorDraw(_p.getBoolean(MINOR_GRADUATION_X_VISIBLE)); + } + if (_p.isDefined(MINOR_GRADUATION_Y_VISIBLE)) { + setYMinorDraw(_p.getBoolean(MINOR_GRADUATION_Y_VISIBLE)); + } + if (_p.isDefined(MINOR_GRADUATION_X_NB)) { + setXMinorGraduationNb(_p.getInteger(MINOR_GRADUATION_X_NB)); + } + if (_p.isDefined(MINOR_GRADUATION_Y_NB)) { + setYMinorGraduationNb(_p.getInteger(MINOR_GRADUATION_Y_NB)); + } + } + + public boolean isCouleurModifiable() { + return true; + } + + public boolean isDrawGrid() { + return gridDraw_; + } + + public boolean isDrawX() { + return xDraw_; + } + + public boolean isDrawY() { + return yDraw_; + } + + public boolean isModeAutomatiqueX() { + return xModeAuto_; + } + + public boolean isModeAutomatiqueY() { + return yModeAuto_; + } + + public boolean isModeLongueurPasX() { + return xModeLongueur_; + } + + /** + * @return the xMinorDraw_ + */ + public boolean isXMinorDraw() { + return xMinorDraw_; + } + + // public boolean isUseCustom() { + // return useCustom_... [truncated message content] |
From: <de...@us...> - 2009-02-23 22:38:23
|
Revision: 4492 http://fudaa.svn.sourceforge.net/fudaa/?rev=4492&view=rev Author: deniger Date: 2009-02-23 22:38:17 +0000 (Mon, 23 Feb 2009) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinAdapter.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinGridSourceAdapter.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinInterface.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageAdapter.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageBuilderAdapter.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageBuilderAdapterAbstract.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReader.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReaderInfo.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinWriter.java branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/TestJSerafin.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeConfigureTarget.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbePersist.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActSerafin.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportSerafinFormatAdapter.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileTreeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrCourbeTemporelleManager.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrEvolutionManager.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/ScopCourbeTreeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceFromReader.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceReaderCommonAbstract.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceReaderComposite.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceReaderInterface.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceReaderReflux.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceReaderSerafin.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceRubar.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/actions/TrPostActionFusionGraphes.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/supg_column.volfin branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/volfin Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinAdapter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinAdapter.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinAdapter.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -28,6 +28,20 @@ public class SerafinAdapter implements SerafinInterface { /** + * @return the isVolumique + */ + public boolean isVolumique() { + return isVolumique_; + } + + /** + * @param _isVolumique the isVolumique to set + */ + public void setVolumique(boolean _isVolumique) { + isVolumique_ = _isVolumique; + } + + /** * Les donnees sont stockees par pas de temps puis par variables. donneesParTemps_[0] pas de temps 1 variables 1 * donneesParTemps_[1] pas de temps 1 variables 2 ..... donneesParTemps_[Nbv1-1] pas de temps 1 variables Nbv1 * donneesParTemps_[Nbv1] pas de temps 2 variables 1 @@ -61,6 +75,9 @@ private String[] uniteVariables_; SerafinNewReaderInfo info_; int[] ipoboFr_; + + private boolean isVolumique_; + /** * rien. */ @@ -71,9 +88,7 @@ } protected boolean majGridFond(final int _timeStep) { - if (_timeStep < 0) { - return false; - } + if (_timeStep < 0) { return false; } final String[] fond = SerafinFileFormat.getCommonVariableFond(); int numVariable = -1; for (int i = 0; i < fond.length; i++) { @@ -82,9 +97,7 @@ break; } } - if (numVariable < 0) { - return false; - } + if (numVariable < 0) { return false; } try { maillage_ = new EfGridBathyAdapter(new EfDataNode(getDonnees(_timeStep, numVariable)), maillage_); } catch (final IOException _evt) { @@ -97,11 +110,11 @@ } public boolean containsElementData() { - return false; + return isVolumique_; } public boolean containsNodeData() { - return true; + return !isVolumique_; } /** @@ -110,27 +123,23 @@ * @return toutes les valeurs dans l'ordre donne des point. */ public double[] getDonnees(final int _pasTemps, final int _numVariable) throws IOException { - if (nbv1_ <= 0) { - return null; - } - if (info_ != null) { - return info_.getDouble(_numVariable, _pasTemps); - } + if (nbv1_ <= 0) { return null; } + if (info_ != null) { return info_.getDouble(_numVariable, _pasTemps); } return donneesParTemps_[_pasTemps * nbv1_ + _numVariable]; } - public double getEltValue(final int _valueIdx, final int _eltIdx, final int _timeStep) { - return 0; - } + // public double getEltValue(final int _valueIdx, final int _eltIdx, final int _timeStep) { + // return 0; + // } + // + // public String getEltValueId(final int _valueIdx) { + // return null; + // } + // + // public int getEltValueNb() { + // return 0; + // } - public String getEltValueId(final int _valueIdx) { - return null; - } - - public int getEltValueNb() { - return 0; - } - public FileFormat getFileFormat() { return SerafinFileFormat.getInstance(); } @@ -205,9 +214,7 @@ } public double getTimeStep(final int _i) { - if (temps_ == null) { - return 0; - } + if (temps_ == null) { return 0; } return temps_[_i]; } @@ -249,12 +256,8 @@ * @return Donnees */ public double getValue(final int _numVariable, final int _pasTemps, final int _i) throws IOException { - if (nbv1_ <= 0) { - return 0; - } - if (info_ != null) { - return info_.getDouble(_numVariable, _pasTemps)[_i]; - } + if (nbv1_ <= 0) { return 0; } + if (info_ != null) { return info_.getDouble(_numVariable, _pasTemps)[_i]; } return donneesParTemps_[_pasTemps * nbv1_ + _numVariable][_i]; } @@ -300,7 +303,7 @@ } public boolean isElement(final int _idx) { - return false; + return isVolumique_; } /** Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinGridSourceAdapter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinGridSourceAdapter.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinGridSourceAdapter.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -44,11 +44,11 @@ } public boolean containsElementData() { - return false; + return isVolumique(); } public boolean containsNodeData() { - return true; + return !isVolumique(); } public double getEltValue(final int _valueIdx, final int _eltIdx, final int _timeStep) { @@ -86,9 +86,7 @@ public int[] getIpoboInitial() { if (source_.getGrid().getFrontiers() == null) { source_.getGrid().computeBord(null, null); - if (source_.getGrid().getFrontiers() == null) { - return null; - } + if (source_.getGrid().getFrontiers() == null) { return null; } } return source_.getGrid().getFrontiers().getIpobo(source_.getGrid().getPtsNb()); } @@ -96,9 +94,7 @@ public int[] getIpoboFr() { if (source_.getGrid().getFrontiers() == null) { source_.getGrid().computeBord(null, null); - if (source_.getGrid().getFrontiers() == null) { - return null; - } + if (source_.getGrid().getFrontiers() == null) { return null; } } return source_.getGrid().getFrontiers().getArray(); } @@ -128,6 +124,10 @@ .getGrid().getPtZ(_ptIdx) : source_.getValue(_numVariable - 1, _pasTemps, _ptIdx)); } + public boolean isVolumique() { + return false; + } + public String getValueId(final int _i) { return fondInValue_ ? source_.getValueId(_i) : (_i == 0 ? fond_ : source_.getValueId(_i)); } @@ -137,7 +137,7 @@ } public boolean isElement(final int _idx) { - return false; + return isVolumique(); } /** Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinInterface.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinInterface.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinInterface.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -84,4 +84,9 @@ int getTimeStepNb(); double getTimeStep(int _i); + + /** + * @return true si les r\xE9sultats sont d\xE9finies aux \xE9l\xE9ments + */ + boolean isVolumique(); } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageAdapter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageAdapter.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageAdapter.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -129,9 +129,7 @@ * @return M */ public String getUnite(final int _i) { - if (_i == 0) { - return "M"; - } + if (_i == 0) { return "M"; } return null; } @@ -178,9 +176,7 @@ * @param _pasTemps le pas de temps (doit etre = \xE0 0) */ public double getValue(final int _numVariable, final int _pasTemps, final int _i) { - if (_pasTemps != 0) { - return 0; - } + if (_pasTemps != 0) { return 0; } if (_numVariable == 0) { return maill_.getPtZ(_i); } else if ((bottom_ != null) && (_numVariable == 1)) { @@ -190,6 +186,10 @@ } } + public boolean isVolumique() { + return false; + } + /** * */ Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageBuilderAdapter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageBuilderAdapter.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageBuilderAdapter.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -3,13 +3,14 @@ * @modification $Date: 2007-01-10 09:04:27 $ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne -* @mail de...@fu... + * @mail de...@fu... */ package org.fudaa.dodico.telemac.io; import org.fudaa.ctulu.collection.CtuluCollectionDouble; import org.fudaa.dodico.ef.EfGridInterface; + /** * @author deniger * @version $Id: SerafinMaillageBuilderAdapter.java,v 1.11 2007-01-10 09:04:27 deniger Exp $ @@ -21,69 +22,69 @@ /** * Par defaut le format colonne est choisi. + * * @param _ft la verison * @param _m le maillage support */ public SerafinMaillageBuilderAdapter(final SerafinFileFormatVersionInterface _ft, final EfGridInterface _m) { - super(_ft,_m); + super(_ft, _m); } - public final double getFirstTimeStep(){ + + public final double getFirstTimeStep() { return firstTimeStep_; } - public double getTimeStep(final int _i){ + + public double getTimeStep(final int _i) { return firstTimeStep_; } /** * */ - public int getTimeStepNb(){ + public int getTimeStepNb() { return 1; } /** * Ne renvoie que les donnees pour le fond ou pour la friction si definie. + * * @param _numVariable le numero de la variable * @param _i l'index du point * @param _pasTemps le pas de temps (doit etre = \xE0 0) */ - public double getValue(final int _numVariable,final int _pasTemps,final int _i){ - if (_pasTemps != 0) { - return 0; - } + public double getValue(final int _numVariable, final int _pasTemps, final int _i) { + if (_pasTemps != 0) { return 0; } return values_[_numVariable].getValue(_i); } - - public String getValueId(final int _i){ + public String getValueId(final int _i) { return valuesName_[_i]; } - public int getValueNb(){ + public int getValueNb() { return values_ == null ? 0 : values_.length; } - - - - public boolean isElement(final int _idx){ - return false; + public boolean isVolumique() { + return isVolumique_; } - public final void setFirstTimeStep(final double _firstTimeStep){ + public final void setFirstTimeStep(final double _firstTimeStep) { firstTimeStep_ = _firstTimeStep; } + boolean isVolumique_; + /** * @param _title les noms des valeurs a ajoutees * @param _values les valeurs en chaque point * @param _units les unites */ - public void setValues(final String[] _title,final CtuluCollectionDouble[] _values,final String[] _units){ + public void setValues(final String[] _title, final CtuluCollectionDouble[] _values, final String[] _units) { valuesName_ = _title; values_ = _values; units_ = _units; + isVolumique_ = _values != null && _values[0] != null && _values[0].getSize() == getGrid().getEltNb(); } - } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageBuilderAdapterAbstract.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageBuilderAdapterAbstract.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinMaillageBuilderAdapterAbstract.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -42,25 +42,13 @@ } public boolean containsElementData() { - return false; + return isVolumique(); } public boolean containsNodeData() { - return true; + return !isVolumique(); } - public double getEltValue(final int _valueIdx, final int _eltIdx, final int _timeStep) { - return 0; - } - - public String getEltValueId(final int _valueIdx) { - return null; - } - - public int getEltValueNb() { - return 0; - } - /** * */ @@ -87,9 +75,7 @@ public int[] getIpoboInitial() { if (maill_.getFrontiers() == null) { maill_.computeBord(null, null); - if (maill_.getFrontiers() == null) { - return null; - } + if (maill_.getFrontiers() == null) { return null; } } return maill_.getFrontiers().getIpobo(maill_.getPtsNb()); } @@ -97,9 +83,7 @@ public int[] getIpoboFr() { if (maill_.getFrontiers() == null) { maill_.computeBord(null, null); - if (maill_.getFrontiers() == null) { - return null; - } + if (maill_.getFrontiers() == null) { return null; } } return maill_.getFrontiers().getArray(); } @@ -121,7 +105,7 @@ } public boolean isElement(final int _idx) { - return false; + return isVolumique(); } /** Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReader.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReader.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReader.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -38,9 +38,24 @@ */ public class SerafinNewReader extends FileReadOperationAbstract { + /** + * @return the isVolumique + */ + public boolean isVolumique() { + return isVolumique_; + } + + /** + * @param _isVolumique the isVolumique to set + */ + public void setVolumique(boolean _isVolumique) { + isVolumique_ = _isVolumique; + } + FileInputStream in_; NativeNIOHelper helper_; File file_; + boolean isVolumique_; boolean onlyReadLast_; // correctio long readTimeStepFrom_ = -1; @@ -255,17 +270,19 @@ * utilise pour chaque pas de temps. Il y a NPPOIN1 entier par variable et Nbv1 variable. Rappel:les entiers * prennent 4 octets. Rappel:chaque enregistrement est entoure par des entiers d'ou les 4 */ + // TODO fred ici comment savoir si volumique ou resultat aux noeud. + int nbVar = isVolumique_ ? nelem1 : npoin1; if (SerafinFileFormat.isFormatEnColonneCommon(iparam)) { /* - * Dans le cas colonne, on a TEMPS : TEMPS+4 variable1 : 4+NPPOIN1*4+4 variablei : 4+NPPOIN1*4+4 pour chaque - * variable soit: tempo= 4+4+Nbv1*(4+NPPOINT*4+4) d'ou + * Dans le cas colonne, on a TEMPS : TEMPS+4 variable1 : 4+NPPOIN14+4 variablei : 4+NPPOIN14+4 pour chaque + * variable soit: tempo= 4+4+Nbv1(4+NPPOINT4+4) d'ou */ - tempo = 12 + 4 * nbv1 * npoin1 + 8 * nbv1; + tempo = 12 + 4 * nbv1 * nbVar + 8 * nbv1; } else { /* - * Temps,variable1,variablei,... soit 4+(NPPOIN1*4)*Nbv1+4 + * Temps,variable1,variablei,... soit 4+(NPPOIN14)Nbv1+4 */ - tempo = 12 + 4 * nbv1 * npoin1; + tempo = 12 + 4 * nbv1 * nbVar; } // nb d'octets restants a lire divise par nb octets par pas de temps. @@ -283,7 +300,7 @@ final boolean isFormatColonne = SerafinFileFormat.isFormatEnColonneCommon(iparam); final ProgressionUpdater up = new ProgressionUpdater(progress_); up.setValue(7, nbPasTempsEstime, 30, 70); - info = new SerafinNewReaderInfo(npoin1, helper_.getCurrentPosition(), file_); + info = new SerafinNewReaderInfo(nbVar, helper_.getCurrentPosition(), file_, isVolumique_); info.setColonne(isFormatColonne); info.setTimeEnrLength(tempo); info.setOrder(helper_.getOrder()); Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReaderInfo.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReaderInfo.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReaderInfo.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -20,37 +20,46 @@ */ public class SerafinNewReaderInfo { + ByteBuffer buffer_; + + FileChannel channel_; + final File file_; private final long firstTimeStepPos_; private boolean isColonne_; + final int nbValues_; + int nbVar_; + ByteBuffer oneDouble_; private ByteOrder order_; private long timeEnrLength_; - ByteBuffer buffer_; - FileChannel channel_; - int nbPoint_; - final File file_; - int nbVar_; + final boolean volumique_; /** - * @param _nbPoint + * @param _nbValue le nombre de valeur definies. Peut etre le nombre de noeud ou le nombre d'element si resultat + * volumique. * @param _channel */ - public SerafinNewReaderInfo(final int _nbPoint, final long _pos, final File _file) { + public SerafinNewReaderInfo(final int _nbValue, final long _pos, final File _file, boolean _volumique) { super(); - nbPoint_ = _nbPoint; + nbValues_ = _nbValue; file_ = _file; firstTimeStepPos_ = _pos; + volumique_=_volumique; } - private void createChannel() throws IOException { - if (channel_ == null) { - channel_ = new FileInputStream(file_).getChannel(); + public void close() { + if (channel_ == null) { return; } + try { + + channel_.close(); + } catch (final IOException e) { + e.printStackTrace(); } } protected ByteBuffer createBuffer() { if (buffer_ == null) { - buffer_ = ByteBuffer.allocateDirect(4 * nbPoint_); + buffer_ = ByteBuffer.allocateDirect(4 * nbValues_); if (order_ != null) { buffer_.order(order_); } @@ -68,46 +77,12 @@ return oneDouble_; } - public void close() { + private void createChannel() throws IOException { if (channel_ == null) { - return; + channel_ = new FileInputStream(file_).getChannel(); } - try { - - channel_.close(); - } catch (final IOException e) { - e.printStackTrace(); - } } - ByteBuffer oneDouble_; - - public synchronized double getDouble(final int _nbV, final int _timeStep, final int _idxPt) throws IOException { - createChannel(); - createBufferOneDouble(); - long pos = firstTimeStepPos_ + _timeStep * timeEnrLength_; - if (isColonne_) { - // [Seq][t][Seq]+([Seq]pt0,pt1,...[Seq])*nbV1+ [Seq] - // les 12 correspondent a la sequence pour le pas de temps - // ensuite chaque variables demande 2 entier (seq) +nbPoint valeurs - pos += 12 + _nbV * (8 + nbPoint_ * 4) + 4; - } else { - // [Seq][t][v0 in x0][vo in x1][vo in x2]... [Seq] - pos += 4 + 4 + (_nbV * nbPoint_ * 4); - } - pos += _idxPt * 4; - channel_.position(pos); - oneDouble_.rewind(); - channel_.read(oneDouble_); - oneDouble_.rewind(); - return oneDouble_.getFloat(); - } - - public int getTimeStepAvailable() throws IOException { - final long size = channel_ == null ? file_.length() : channel_.size(); - return (int) ((size - firstTimeStepPos_) / timeEnrLength_); - } - /** * @param _nbV le nombre de variable * @param _timeStep le pas de temps @@ -123,24 +98,43 @@ // [Seq][t][Seq]+([Seq]pt0,pt1,...[Seq])*nbV1+ [Seq] // les 12 correspondent a la sequence pour le pas de temps // ensuite chaque variables demande 2 entier (seq) +nbPoint valeurs - pos += 12L + _nbV * (8L + nbPoint_ * 4L) + 4L; + pos += 12L + _nbV * (8L + nbValues_ * 4L) + 4L; } else { // [Seq][t][v0 in x0][vo in x1][vo in x2]... [Seq] - pos += 4L + 4L + (_nbV * nbPoint_ * 4L); + pos += 4L + 4L + (_nbV * nbValues_ * 4L); } - final double[] r = new double[nbPoint_]; - if (!channel_.isOpen()) { - return null; - } + final double[] r = new double[nbValues_]; + if (!channel_.isOpen()) { return null; } channel_.position(pos); channel_.read(buffer_); buffer_.rewind(); - for (int i = 0; i < nbPoint_; i++) { + for (int i = 0; i < nbValues_; i++) { r[i] = buffer_.getFloat(); } return r; } + public synchronized double getDouble(final int _nbV, final int _timeStep, final int _idxPt) throws IOException { + createChannel(); + createBufferOneDouble(); + long pos = firstTimeStepPos_ + _timeStep * timeEnrLength_; + if (isColonne_) { + // [Seq][t][Seq]+([Seq]pt0,pt1,...[Seq])*nbV1+ [Seq] + // les 12 correspondent a la sequence pour le pas de temps + // ensuite chaque variables demande 2 entier (seq) +nbPoint valeurs + pos += 12 + _nbV * (8 + nbValues_ * 4) + 4; + } else { + // [Seq][t][v0 in x0][vo in x1][vo in x2]... [Seq] + pos += 4 + 4 + (_nbV * nbValues_ * 4); + } + pos += _idxPt * 4; + channel_.position(pos); + oneDouble_.rewind(); + channel_.read(oneDouble_); + oneDouble_.rewind(); + return oneDouble_.getFloat(); + } + public final long getFirstTimeStepPos() { return firstTimeStepPos_; } @@ -153,6 +147,18 @@ return timeEnrLength_; } + public int getTimeStepAvailable() throws IOException { + final long size = channel_ == null ? file_.length() : channel_.size(); + return (int) ((size - firstTimeStepPos_) / timeEnrLength_); + } + + /** + * @return the volumique + */ + public boolean isVolumique() { + return volumique_; + } + public final void setColonne(final boolean _isColonne) { isColonne_ = _isColonne; } Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinWriter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinWriter.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinWriter.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -33,7 +33,8 @@ import org.fudaa.dodico.h2d.resource.H2dResource; /** - * Classe permettant d'ecrire un fichier serafin (utilise un buffer pour l'ecriture). + * TODO a modifier pour prendre en compte l'aspect volumique. Classe permettant d'ecrire un fichier serafin (utilise un + * buffer pour l'ecriture). * * @version $Id: SerafinWriter.java,v 1.34 2007-05-04 13:47:27 deniger Exp $ * @author Fred Deniger @@ -65,12 +66,8 @@ */ private boolean isDoubleToFloatError(final double _d) { final double d = _d > 0 ? _d : -_d; - if (d > Float.MAX_VALUE) { - return true; - } - if ((d > 0) && (d < Float.MIN_VALUE)) { - return true; - } + if (d > Float.MAX_VALUE) { return true; } + if ((d > 0) && (d < Float.MIN_VALUE)) { return true; } return false; } @@ -234,10 +231,9 @@ final int nbv1 = _donnees.getValueNb(); final int nelem = maillage.getEltNb(); final int npt = maillage.getPtsNb(); + final int nbValues = _donnees.isVolumique() ? nelem : npt; final int nppel = maillage.getElement(0).getPtNb(); - if (stop_) { - return; - } + if (stop_) { return; } final int[] iparam = _donnees.getIparam(); final boolean isIdateDefini = version_.isIdateDefini(iparam); final boolean isFormatColonne = version_.isFormatEnColonne(iparam); @@ -248,9 +244,9 @@ } final long tailleIkle1 = 8L + 4L * nelem * nppel; final long tailleX1 = 8L + npt * 4L; - long tailleTemps = 12L + 4L * nbv1 * npt; + long tailleTemps = 12L + 4L * nbv1 * nbValues; if (isFormatColonne) { - tailleTemps = 12L + 4L * nbv1 * npt + 8L * nbv1; + tailleTemps = 12L + 4L * nbv1 * nbValues + 8L * nbv1; } tailleTotale_ = tailleDebut + tailleIkle1 + tailleX1 * 3L + nbPasTemps * tailleTemps; // TITRE @@ -265,9 +261,7 @@ _out.writeRecord(); // TEXTi LUNITi writeVariables(_donnees, _out, nbv1); - if (stop_) { - return; - } + if (stop_) { return; } // IPARAM // tIA tableau d'entier tempo writeIparam(_out, iparam); @@ -287,9 +281,7 @@ // H2dElement[] elems= maillage.getElts(); EfElement eltIndex; for (int i = 0; i < nelem; i++) { - if (stop_) { - return; - } + if (stop_) { return; } eltIndex = maillage.getElement(i); for (int j = 0; j < nppel; j++) { _out.writeInteger(eltIndex.getPtIndex(j) + 1); @@ -298,22 +290,16 @@ _out.writeRecord(); lu = updateProg(lu + tailleIkle1); writeIpobo(_donnees, _out, npt); - if (stop_) { - return; - } + if (stop_) { return; } lu = updateProg(lu + tailleX1); // H2dPoint[] pts = maillage.getPts(); // X1 writeNodesX(_out, maillage, npt); - if (stop_) { - return; - } + if (stop_) { return; } lu = updateProg(lu + tailleX1); // Y1 writeNodesY(_out, maillage, npt); - if (stop_) { - return; - } + if (stop_) { return; } lu = updateProg(lu + tailleX1); // double[] tDA = donnees_.getPasDeTemps(); for (int t = 0; t < nbPasTemps; t++) { @@ -330,7 +316,7 @@ if (isFormatColonne) { _out.writeRecord(); } - for (int j = 0; j < npt; j++) { + for (int j = 0; j < nbValues; j++) { tD = getCorrectDoubleValue(_donnees.getValue(i, t, j)); if (isDoubleToFloatError(tD)) { analyze_.addError("Erreur de conversion lors de l'\xE9criture des Donn\xE9es", t); @@ -353,9 +339,7 @@ private void writeNodesY(final FortranBinaryOutputStream _out, final EfGridInterface _maillage, final int _npt) throws IOException { for (int i = 0; i < _npt; i++) { - if (stop_) { - return; - } + if (stop_) { return; } final double tD = getCorrectDoubleValue(_maillage.getPtY(i)); if (isDoubleToFloatError(tD)) { analyze_.addError(H2dResource.getS("Erreur de conversion lors de l'\xE9criture des Y"), i); @@ -369,9 +353,7 @@ private void writeNodesX(final FortranBinaryOutputStream _out, final EfGridInterface _maillage, final int _npt) throws IOException { for (int i = 0; i < _npt; i++) { - if (stop_) { - return; - } + if (stop_) { return; } final double tD = getCorrectDoubleValue(_maillage.getPtX(i)); if (isDoubleToFloatError(tD)) { analyze_.addError(H2dResource.getS("Erreur de conversion lors de l'\xE9criture des X"), i); @@ -388,9 +370,7 @@ final int[] ipobo = _inter.getIpoboInitial(); // IPOBO for (int i = 0; i < _npt; i++) { - if (stop_) { - return; - } + if (stop_) { return; } _out.writeInteger(ipobo[i]); } _out.writeRecord(); Modified: branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/TestJSerafin.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/TestJSerafin.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/TestJSerafin.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -50,6 +50,25 @@ interfaceTest((SerafinInterface) s.getSource()); } + public void testVolfin() { + File f = getFile("supg_column.volfin"); + final SerafinNewReader r = new SerafinNewReader(); + r.setFile(f); + r.setVolumique(true); + final CtuluIOOperationSynthese s = r.read(); + s.printAnalyze(); + assertFalse(s.containsFatalError()); + SerafinInterface t = (SerafinInterface) s.getSource(); + System.err.println(t.getTitre()); + try { + double[] values = t.getReadingInfo().getDouble(0, 0); + assertEquals(t.getGrid().getEltNb(), values.length); + } catch (IOException e) { + e.printStackTrace(); + fail(e.getMessage()); + } + } + protected void interfaceTest(final SerafinInterface _t) { assertNotNull(_t); // TITRE @@ -169,6 +188,10 @@ final int nbTimeStep = initTimeStep + 100; SerafinInterface newInter = new SerafinInterface() { + public boolean isVolumique() { + return r.isVolumique(); + } + public boolean isElement(int _idx) { return r.isElement(_idx); } @@ -191,7 +214,7 @@ public double getValue(int _numVariable, int _pasTemps, int _ptIdx) throws IOException { if (_pasTemps < initTimeStep) { return r.getValue(_numVariable, _pasTemps, _ptIdx); } - return Math.random() ; + return Math.random(); } public String getUnite(int _i) { @@ -208,7 +231,7 @@ public double getTimeStep(int _i) { if (_i < initTimeStep) return r.getTimeStep(_i); - return maxTime + (1+_i - initTimeStep) * delta; + return maxTime + (1 + _i - initTimeStep) * delta; } public SerafinNewReaderInfo getReadingInfo() { Added: branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/supg_column.volfin =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/supg_column.volfin ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/volfin =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/dodico/test/org/fudaa/dodico/telemac/volfin ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -213,9 +213,9 @@ // x = xmax - 6 - _g.getFontMetrics().stringWidth(str); // } tbox_.paintBox(_g, xie,y, str); - int widthBox=5; - if(tbox_.currentWidth_!=-1) - widthBox=tbox_.currentWidth_; +// int widthBox=5; +// if(tbox_.currentWidth_!=-1) +// widthBox=tbox_.currentWidth_; new TraceLigne(marqueur.model_).dessineTrait(_g, xie/*+widthBox/2*/,y , xie/*+widthBox/2*/, ymax); @@ -520,16 +520,16 @@ } - public boolean isNuagePoints_() { + public boolean isNuagePoints() { return nuagePoints_; } - public void setNuagePoints_(boolean nuagePoints_) { - this.nuagePoints_ = nuagePoints_; + public void setNuagePoints(boolean _nuagePoints) { + this.nuagePoints_ = _nuagePoints; } - public boolean setNuagePointEtApplique(boolean nuagePOints){ - setNuagePoints_(nuagePoints_); + public boolean setNuagePointEtApplique(boolean _nuagePOints){ + setNuagePoints(nuagePoints_); fireCourbeAspectChanged(false); //fireCourbeContentChanged(); return true; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeConfigureTarget.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeConfigureTarget.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeConfigureTarget.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -76,7 +76,7 @@ return target_.getFont(); } if (_key == EGCourbeConfigureTarget.PROP_NUAGE_POINTS) { - return target_.isNuagePoints_(); + return target_.isNuagePoints(); } return null; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbePersist.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbePersist.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbePersist.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -47,7 +47,7 @@ private void fillInfoWith(EGCourbeChild courbe,int idgroupe){ this.Idgroup=idgroupe; title_=courbe.getTitle(); - this.nuagePoints=courbe.isNuagePoints_(); + this.nuagePoints=courbe.isNuagePoints(); Xmin = courbe.getModel().getXMin(); Xmax = courbe.getModel().getXMax(); Ymin = courbe.getModel().getYMin(); @@ -95,10 +95,10 @@ /** * Generate the proper curve in the appropriate group. - * @param groupe + * @param _groupe * @return */ -public EGCourbeChild generateCourbe(EGGroup groupe,Map infos){ +public EGCourbeChild generateCourbe(EGGroup _groupe,Map _infos){ //EGModel model=new EGCourbeModelDefault(abscisses,ordonnees); EGModel model=null; if(classeModel!=null) @@ -109,27 +109,13 @@ //-- ajotu des coordonnees --// model.addValue(abscisses, ordonnees, new CtuluCommandManager()); - - - - //-- donnees specifiques --// - infos.put("GROUPE", groupe); - infos.put("DEFAULTY", ordonnees); - model.setPersistSpecificDatas(dataSpecifiques, infos); + _infos.put("GROUPE", _groupe); + _infos.put("DEFAULTY", ordonnees); + model.setPersistSpecificDatas(dataSpecifiques, _infos); EGCourbeChild courbe=null; - - //-- Verifie dans le cas de rejoue des donnees, il faut peut etre ne pas ajouter la courbe --// -// if(infos.get("MODELREPLAY")!=null && infos.get("MODELREPLAY") instanceof EGCourbeChild){ -// -// //-- on remplace le model par le model rejouee et deja ajout\xE9--// -// courbe=(EGCourbeChild) infos.get("MODELREPLAY"); -// infos.remove("MODELREPLAY"); -// }else{ - - courbe=new EGCourbeChild(groupe,model); -// } + courbe=new EGCourbeChild(_groupe,model); courbe.setTitle(title_); //graphiques @@ -140,7 +126,7 @@ if(tLigneMarqueur_!=null) courbe.setLigneMark(tLigneMarqueur_); - courbe.setNuagePoints_(this.nuagePoints); + courbe.setNuagePoints(this.nuagePoints); if(listeMarqueurs_!=null) courbe.setMarqueurs(listeMarqueurs_); @@ -149,16 +135,16 @@ } - public String getTitle_() { + public String getTitle() { return title_; } - public void setTitle_(String title_) { - this.title_ = title_; + public void setTitle(String _title) { + this.title_ = _title; } public int getIdgroup() { return Idgroup; } - public void setIdgroup(int idgroup) { - Idgroup = idgroup; + public void setIdgroup(int _idgroup) { + Idgroup = _idgroup; } } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActSerafin.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActSerafin.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActSerafin.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -47,6 +47,8 @@ int language_ = DicoLanguage.getCurrentID(); + boolean volumique_; + public MvExportActSerafin(final int[] _initIpobo, final int[] _iparams) { super(SerafinFileFormat.getInstance()); iparams_ = _iparams; @@ -58,7 +60,7 @@ protected CtuluIOOperationSynthese writeExport(final File[] _dest, final EfGridData _last, final ProgressionInterface _prog) { final MvExportSerafinFormatAdapter adapter = new MvExportSerafinFormatAdapter(selectedVar_, _last, - selectedTimeStep_, language_); + selectedTimeStep_, language_, volumique_); if (filter_ == null && initIpobo_ != null) { adapter.setInitIpobo(initIpobo_); } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportSerafinFormatAdapter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportSerafinFormatAdapter.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportSerafinFormatAdapter.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -25,19 +25,30 @@ */ public class MvExportSerafinFormatAdapter extends SerafinMaillageBuilderAdapterAbstract { - final CtuluVariable[] var_; final EfGridData data_; - double[] timeStep_; + int[] initIpobo_; + final boolean isVolumique_; + // pour eviter de recalculer a chaque fois les donn\xE9es. + EfData old_; + int oldTime_ = -1; + int oldVar_ = -1; + double[] timeStep_; + + + + final CtuluVariable[] var_; + /** * @param _var * @param _data */ public MvExportSerafinFormatAdapter(final CtuluVariable[] _var, final EfGridData _data, final double[] _ts, - final int _language) { + final int _language, boolean _volumique) { super((SerafinFileFormatVersionInterface) (SerafinFileFormat.getInstance().getLastVersionInstance(null)), _data .getGrid()); + isVolumique_ = _volumique; var_ = _var == null ? new CtuluVariable[0] : _var; data_ = _data; timeStep_ = var_.length == 0 ? FuEmptyArrays.DOUBLE0 : _ts; @@ -66,16 +77,9 @@ public double getTimeStep(final int _i) { return timeStep_[_i]; } - public int getTimeStepNb() { return timeStep_.length; } - - // pour eviter de recalculer a chaque fois les donn\xE9es. - EfData old_; - int oldVar_ = -1; - int oldTime_ = -1; - public double getValue(final int _numVariable, final int _pasTemps, final int _ptIdx) throws IOException { if (_numVariable != oldVar_ || _pasTemps != oldTime_ || old_ == null) { oldTime_ = _pasTemps; @@ -93,6 +97,10 @@ return valuesName_.length; } + public boolean isVolumique() { + return isVolumique_; + } + public void setInitIpobo(final int[] _initIpobo) { initIpobo_ = _initIpobo; } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileTreeModel.java 2009-02-23 17:38:31 UTC (rev 4491) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileTreeModel.java 2009-02-23 22:38:17 UTC (rev 4492) @@ -80,903 +80,883 @@ * @version $Id: MvProfileTreeModel.java,v 1.12 2007-06-13 14:46:13 deniger Exp $ */ public class MvProfileTreeModel extends EGGrapheTreeModel implements Target { - FudaaCourbeTimeListModel timeModel_; - EfLineIntersectionsResultsMng resNode_; - EfLineIntersectionsResultsBuilder builderNode_; - EfLineIntersectionsResultsBuilder builderMesh_; - EfLineIntersectionsResultsMng resMesh_; + FudaaCourbeTimeListModel timeModel_; + EfLineIntersectionsResultsMng resNode_; + EfLineIntersectionsResultsBuilder builderNode_; + EfLineIntersectionsResultsBuilder builderMesh_; + EfLineIntersectionsResultsMng resMesh_; - EfLineIntersectionsCorrectionTester tester_; + EfLineIntersectionsCorrectionTester tester_; - /** - * Ligne initialement utilis\xE9e pour la creation de la courbe - */ - LineString initLineNode; - LineString initLineMesh; + /** + * Ligne initialement utilis\xE9e pour la creation de la courbe + */ + LineString initLineNode; + LineString initLineMesh; + public MvProfileTarget target_; - public MvProfileTarget target_; + public MvProfileTreeModel(final MvProfileTarget _target, final EfLineIntersectionsCorrectionTester _tester) { + super(); + timeModel_ = _target.getTimeModel(); + tester_ = _tester; + target_ = _target; + } - public MvProfileTreeModel(final MvProfileTarget _target, final EfLineIntersectionsCorrectionTester _tester) { - super(); - timeModel_ = _target.getTimeModel(); - tester_ = _tester; - target_ = _target; - } + public MvProfileTreeModel(final MvProfileTreeModel _model) { + super(); + timeModel_ = _model.target_.getTimeModel(); + tester_ = _model.tester_; + target_ = _model.target_; + } - public MvProfileTreeModel(final MvProfileTreeModel _model) { - super(); - timeModel_ = _model.target_.getTimeModel(); - tester_ = _model.tester_; - target_ = _model.target_; - } + /** + * ACHTUNG! Constructuer uniquement utilis\xE9 pour la serialization des graphes!! Il faut imp\xE9rativement initialiser la + * variable target_ avec un ProfilDapter apres coup avec le trpostsource qui convient + */ + public MvProfileTreeModel() { + tester_ = new MvProfileCoteTester(); - /** - * ACHTUNG! Constructuer uniquement utilis\xE9 pour la serialization des graphes!! Il faut imp\xE9rativement initialiser la - * variable target_ avec un ProfilDapter apres coup avec le trpostsource qui convient - */ - public MvProfileTreeModel() { - tester_ = new MvProfileCoteTester(); + } - } + public void setNodesResults(final EfLineIntersectionsResultsMng _resNode, + final EfLineIntersectionsResultsBuilder _builderNode) { + resNode_ = _resNode; + builderNode_ = _builderNode; + if (builderNode_ != null) initLineNode = builderNode_.getInitLine(); - public void setNodesResults(final EfLineIntersectionsResultsMng _resNode, - final EfLineIntersectionsResultsBuilder _builderNode) { - resNode_ = _resNode; - builderNode_ = _builderNode; - if(builderNode_!=null ) - initLineNode=builderNode_.getInitLine(); + } + public EfLineIntersectionsResultsBuilder getBuilderFor(final CtuluVariable _v) { + return target_.getData().isElementVar(_v) ? builderMesh_ : builderNode_; + } - } + public void setMeshesResults(final EfLineIntersectionsResultsMng _resMeshes, + final EfLineIntersectionsResultsBuilder _builderMeshes) { + resMesh_ = _resMeshes; + builderMesh_ = _builderMeshes; + if (builderMesh_ != null) initLineMesh = builderMesh_.getInitLine(); - public EfLineIntersectionsResultsBuilder getBuilderFor(final CtuluVariable _v) { - return target_.getData().isElementVar(_v) ? builderMesh_ : builderNode_; - } + } - public void setMeshesResults(final EfLineIntersectionsResultsMng _resMeshes, - final EfLineIntersectionsResultsBuilder _builderMeshes) { - resMesh_ = _resMeshes; - builderMesh_ = _builderMeshes; - if(builderMesh_!=null ) - initLineMesh=builderMesh_.getInitLine(); + public EfLineIntersectionsResultsMng getResMesh() { + return resMesh_; + } - } + public H2dVariableType[] getVariables() { - public EfLineIntersectionsResultsMng getResMesh() { - return resMesh_; - } + final List values = getShownVar(); - public H2dVariableType[] getVariables() { + return null; + } - final List values = getShownVar(); + @Override + public boolean isStructureModifiable() { + return true; + } - return null; - } + public void updateTimeStep(final int[] _idx, final ProgressionInterface _prog) { + blockEvents_ = true; + final FudaaCourbeTimeListModel newModel = target_.getTimeModel(); - @Override - public boolean isStructureModifiable() { - return true; - } + if (newModel != null) { + final boolean structureChanged = newModel.getSize() != timeModel_.getSize(); + // timeModel_.updateFrom(newModel); + if (structureChanged) { + timeModel_.fireStructureChanged(); + } else { + timeModel_.fireContentChanged(); + } + blockEvents_ = false; + BuLib.invokeLater(new Runnable() { - public void updateTimeStep(final int[] _idx, final ProgressionInterface _prog) { - blockEvents_ = true; - final FudaaCourbeTimeListModel newModel = target_.getTimeModel(); + public void run() { + fireCourbeContentChanged(null, true); + if (structureChanged) { + final EGObject[] cs = getSelectedObjects(); + if (cs != null) { + for (int i = 0; i < cs.length; i++) { - if (newModel != null) { - final boolean structureChanged = newModel.getSize() != timeModel_.getSize(); - // timeModel_.updateFrom(newModel); - if (structureChanged) { - timeModel_.fireStructureChanged(); - } else { - timeModel_.fireContentChanged(); - } - blockEvents_ = false; - BuLib.invokeLater(new Runnable() { + if (cs[i] instanceof MvProfileCourbeTime) { + ((MvProfileCourbeTime) cs[i]).selection_.setSelectionInterval(timeModel_.getSize() - 1, timeModel_ + .getSize() - 1); + } + } + } + } + } - public void run() { - fireCourbeContentChanged(null, true); - if (structureChanged) { - final EGObject[] cs = getSelectedObjects(); - if (cs != null) { - for (int i = 0; i < cs.length; i++) { + }); + } - if (cs[i] instanceof MvProfileCourbeTime) { - ((MvProfileCourbeTime) cs[i]).selection_.setSelectionInterval(timeModel_.getSize() - 1, timeModel_ - .getSize() - 1); - } - } - } - } - } + } - }); - } + /** + * Rejoue les donn\xE9es de la polyligne avec les nouvelles infos. Si boolean ecraser est a false, Cree sune nouvelle + * courbe avec le mod\xE8le qui convient. Dans le cas ou ecraser est \xE0 true, on ecrase les infos du modele par ceux des + * param d'entree. Version r\xE9serv\xE9s aux points r\xE9els + * + * @param _model + * @param _src + * @param _idxToAdd + * @param _cmd + * @param _prog + * @param newVariable + * @param ecraser + */ + public void replayPoints(TrPostCommonImplementation impl, TrPostVisuPanel vue2d, MVProfileCourbeModel _model, + final TrPostSource _src, final GISZoneCollectionPoint points, final CtuluCommandContainer _cmd, + final ProgressionInterface _prog, H2dVariableType newVariable, int newTimeStep, boolean ecraser) { + LineString polyligne = new LineString(points, new GeometryFactory()); + // -- ajout de la variable --// + final MvProfileCourbeGroup groupVar = getGroup(newVariable, true); - } + // -- on cree la nouvelle courbe pour la variable correspondante --// + MvProfileTarget target = new TrPostProfileAction.ProfileAdapter(_src, impl.getCurrentProject()); + MvProfileBuilder builder = new MvProfileBuilderFromLine(target, impl, polyligne, vue2d, new MvProfileCoteTester()); + // -- intersectionResultI --// + EfLineIntersectionsResultsI res = builder.getDefaultRes(_model.variable_, impl.getMainProgression()); + // -- EfLineIntersectionsResultsBuilder --// + EfLineIntersectionsResultsBuilder efbuilder = new EfLineIntersectionsResultsBuilder(polyligne, _model.res_, + new MvProfileCoteTester()); + MVProfileCourbeModel newModele = new MVProfileCourbeModel(newVariable, _src, newTimeStep, efbuilder, impl + .getMainProgression()); - /** - * Rejoue les donn\xE9es de la polyligne avec les nouvelles infos. - * Si boolean ecraser est a false, Cree sune nouvelle courbe avec le mod\xE8le qui convient. - * Dans le cas ou ecraser est \xE0 true, on ecrase les infos du modele par ceux des param d'entree. - * Version r\xE9serv\xE9s aux points r\xE9els - * @param _model - * @param _src - * @param _idxToAdd - * @param _cmd - * @param _prog - * @param newVariable - * @param ecraser - */ - public void replayPoints(TrPostCommonImplementation impl,TrPostVisuPanel vue2d,MVProfileCourbeModel _model,final TrPostSource _src, final GISZoneCollectionPoint points, final CtuluCommandContainer _cmd, - final ProgressionInterface _prog, H2dVariableType newVariable,int newTimeStep, boolean ecraser) { - LineString polyligne=new LineString(points,new GeometryFactory()); - //-- ajout de la variable --// - final MvProfileCourbeGroup groupVar = getGroup(newVariable, true); + // -- titre --// + String title = newVariable.toString() + CtuluLibString.ESPACE; + if (newVariable.getCommonUnit() != null) title += "(" + newVariable.getCommonUnit() + ")" + CtuluLibString.ESPACE; + title += _src.getTimeStep(newTimeStep); + // -- on ajoute les extremites du segment choisi --// + title += ", P1(" + format(polyligne.getCoordinateN(0).x, 2) + ";" + format(polyligne.getCoordinateN(0).y, 2) + ")" + + ";" + "P" + polyligne.getNumPoints() + "(" + + format(polyligne.getCoordinateN(polyligne.getNumPoints() - 1).x, 2) + ";" + + format(polyligne.getCoordinateN(polyligne.getNumPoints() - 1).y, 2) + ")"; + newModele.setTitle(title); - //-- on cree la nouvelle courbe pour la variable correspondante --// - MvProfileTarget target=new TrPostProfileAction.ProfileAdapter(_src,impl.getCurrentProject()); - MvProfileBuilder builder=new MvProfileBuilderFromLine(target,impl,polyligne,vue2d,new MvProfileCoteTester()); - //-- intersectionResultI --// - EfLineIntersectionsResultsI res=builder.getDefaultRes(_model.variable_, impl.getMainProgression()); - //-- EfLineIntersectionsResultsBuilder --// - EfLineIntersectionsResultsBuilder efbuilder=new EfLineIntersectionsResultsBuilder(polyligne,_model.res_,new MvProfileCoteTester()); - MVProfileCourbeModel newModele=new MVProfileCourbeModel(newVariable,_src,newTimeStep,efbuilder,impl.getMainProgression()); + // -- creation de la nouvelle courbe --// + MvProfileCourbeTime newchild = new MvProfileCourbeTime(groupVar, newModele, target.getTimeModel()); + groupVar.addEGComponent(newchild); - //-- titre --// - String title=newVariable.toString() + CtuluLibString.ESPACE ; - if(newVariable.getCommonUnit()!=null) - title+="("+newVariable.getCommonUnit()+")"+ CtuluLibString.ESPACE ; - title+=_src.getTimeStep(newTimeStep); - //-- on ajoute les extremites du segment choisi --// - title+=", P1("+format(polyligne.getCoordinateN(0).x,2)+";"+format(polyligne.getCoordinateN(0).y,2)+")"+";"+"P"+polyligne.getNumPoints()+"("+format(polyligne.getCoordinateN(polyligne.getNumPoints()-1).x,2)+";"+format(polyligne.getCoordinateN(polyligne.getNumPoints()-1).y,2)+")"; - newModele.setTitle(title); + // -- si ecraser, on supprime la courbe --// + if (ecraser) { + this.removeModele(_model, _cmd); - //-- creation de la nouvelle courbe --// - MvProfileCourbeTime newchild = new MvProfileCourbeTime(groupVar, newModele, target.getTimeModel()); - groupVar.addEGComponent(newchild); + } + fireStructureChanged(); + } - //-- si ecraser, on supprime la courbe --// - if(ecraser){ - this.removeModele(_model,_cmd); + public void replayPoints(TrPostCommonImplementation impl, TrPostVisuPanel vue2d, MVProfileCourbeModel _model, + final TrPostSource _src, final int[] _idxToAdd, final CtuluCommandContainer _cmd, + final ProgressionInterface _prog, H2dVariableType newVariable, int newTimeStep, boolean ecraser) { + // -- creation de la polyligne --// + GISZoneCollectionPoint points = new GISZoneCollectionPoint(); + for (int i = 0; i < _idxToAdd.length; i++) + points.add(_src.getGrid().getPtX(_idxToAdd[i]), _src.getGrid().getPtY(_idxToAdd[i]), 0); - } + replayPoints(impl, vue2d, _model, _src, points, _cmd, _prog, newVariable, newTimeStep, ecraser); + } + public void replayPoints(TrPostCommonImplementation impl, TrPostVisuPanel vue2d, MVProfileCourbeModel _model, + final TrPostSource _src, final List<GrPoint> _idxToAdd, final CtuluCommandContainer _cmd, + final ProgressionInterface _prog, H2dVariableType newVariable, int newTimeStep, boolean ecraser) { + // -- creation de la polyligne --// + GISZoneCollectionPoint points = new GISZoneCollectionPoint(); + for (GrPoint point : _idxToAdd) + points.add(point.x_, point.y_, point.z_); - fireStructureChanged(); - } + replayPoints(impl, vue2d, _model, _src, points, _cmd, _prog, newVariable, newTimeStep, ecraser); + } - - - public void replayPoints(TrPostCommonImplementation impl,TrPostVisuPanel vue2d,MVProfileCourbeModel _model,final TrPostSource _src, final int[] _idxToAdd, final CtuluCommandContainer _cmd, - final ProgressionInterface _prog, H2dVariableType newVariable,int newTimeStep, boolean ecraser) { - //-- creation de la polyligne --// - GISZoneCollectionPoint points=new GISZoneCollectionPoint(); - for(int i=0;i<_idxToAdd.length;i++) - points.add(_src.getGrid().getPtX(_idxToAdd[i]),_src.getGrid().getPtY(_idxToAdd[i]),0); - - replayPoints(impl, vue2d, _model, _src, points, _cmd, _prog, newVariable, newTimeStep, ecraser); - } - - public void replayPoints(TrPostCommonImplementation impl,TrPostVisuPanel vue2d,MVProfileCourbeModel _model,final TrPostSource _src, final List<GrPoint> _idxToAdd, final CtuluCommandContainer _cmd, - final ProgressionInterface _prog, H2dVariableType newVariable,int newTimeStep, boolean ecraser) { - //-- creation de la polyligne --// - GISZoneCollectionPoint points=new GISZoneCollectionPoint(); - for(GrPoint point:_idxToAdd) - points.add(point.x_,point.y_,point.z_); - - replayPoints(impl, vue2d, _model, _src, points, _cmd, _prog, newVariable, newTimeStep, ecraser); - } + /** + * Methode qui supprime la courbe pour son modele du profil spatial. Supprime \xE9galement le groupe de variable si ce + * dernier ne contient pas d'autres courbes. + * + * @param model de la courbe a supprimer + * @param mng + */ + public void removeModele(MVProfileCourbeModel model, CtuluCommandContainer mng) { + model.isRemovable_ = true; + // -- on recupere le groupe du modele --// + final MvProfileCourbeGroup groupVar = getGroup(model.getVariable(), false); + EGCourbeChild[] liste = new EGCourbeChild[1]; + boolean trouve = false; + for (int i = groupVar.getChildCount() - 1; !trouve && i >= 0; i--) { + final MVProfileCourbeModel res = (MVProfileCourbeModel) groupVar.getCourbeAt(i).getModel(); + if (res == model) { + liste[0] = groupVar.getCourbeAt(i); + trouve = true; + } + } + if (trouve) removeCurves(liste, mng); - /** - * Methode qui supprime la courbe pour son modele du profil spatial. - * Supprime \xE9galement le groupe de variable si ce dernier ne contient pas d'autres courbes. - * @param model de la courbe a supprimer - * @param mng - */ - public void removeModele(MVProfileCourbeModel model,CtuluCommandContainer mng){ - model.isRemovable_=true; - //-- on recupere le groupe du modele --// - final MvProfileCourbeGroup groupVar = getGroup(model.getVariable(), false); - EGCourbeChild[] liste=new EGCourbeChild[1]; - boolean trouve=false; - for (int i = groupVar.getChildCount() - 1;!trouve && i >= 0; i--) { - final MVProfileCourbeModel res = (MVProfileCourbeModel) groupVar.getCourbeAt(i).getModel(); - if (res==model) { - liste[0]=groupVar.getCourbeAt(i); - trouve=true; - } - } - if(trouve) - removeCurves(liste,mng ); + // -- test si le groupe ne contient rien, on le degage --// + if (groupVar.getEGChilds() == null || groupVar.getEGChilds().length == 0) { + this.remove(groupVar); - //-- test si le groupe ne contient rien, on le degage --// - if(groupVar.getEGChilds()==null || groupVar.getEGChilds().length==0){ - this.remove(groupVar); + } + } - } - } + public String format(double value, int nbChiffresSignificatifs) { + String forme = "#."; + for (int i = 0; i < nbChiffresSignificatifs; i++) + forme += "0"; + DecimalFormat df = new DecimalFormat(forme); + return df.format(value); + } - public String format(double value,int nbChiffresSignificatifs){ - String forme="#."; - for(int i=0;i<nbChiffresSignificatifs;i++) - forme+="0"; - DecimalFormat df = new DecimalFormat(forme); - return df.format(value); - } + MvProfileGridPalette paletteGrid_; + public EfLineIntersectionsResultsI[] getDefaultRes() { + return new EfLineIntersectionsResultsI[] { resNode_ == null ? null : resNode_.getDefaultRes(), + resMesh_ == null ? null : resMesh_.getDefaultRes() }; + } - MvProfileGridPalette paletteGrid_; + public static LineString createLineString(final EfLineIntersectionsResultsMng _res) { + if (_res == null) { return null; } + return createLineString(_res.getDefaultRes()); + } - public EfLineIntersectionsResultsI[] getDefaultRes() { - return new EfLineIntersectionsResultsI[] { resNode_ == null ? null : resNode_.getDefaultRes(), - resMesh_ == null ? null : resMesh_.getDefaultRes() }; - } + private static LineString createLineString(final EfLineIntersectionsResultsI _res) { + final Coordinate[] cs = new Coordinate[_res.getNbIntersect()]; + for (int i = cs.length - 1; i >= 0; i--) { + final EfLineIntersection intersect = _res.getIntersect(i); + cs[i] = new Coordinate(intersect.getX(), intersect.getY()); + } + return GISGeometryFactory.INSTANCE.createLineString(cs); + } - public static LineString createLineString(final EfLineIntersectionsResultsMng _res) { - if (_res == null) { return null; } - return createLineString(_res.getDefaultRes()); - } + /** + * Recherche le bon groupe pour les profils spatiaux. peut creer le groupe si booleen est a true. + * + * @param _v + * @param _create + * @return + */ + public MvProfileCourbeGroup getGroup(final CtuluVariable _v, final boolean _create) { + for (int i = getNbEGObject() - 1; i >= 0; i--) { + final EGGroup g = getGroup(i); + if ((g instanceof MvProfileCourbeGroup) && ((MvProfileCourbeGroup) g).getVar() == _v) { return (MvProfileCourbeGroup) g; } + } + if (_create) { + final MvProfileCourbeGroup g = MvProfileFillePanel.createGroupFor(_v); + super.add(g); + return g; + } + return null; - private static LineString createLineString(final EfLineIntersectionsResultsI _res) ... [truncated message content] |
From: <had...@us...> - 2009-02-25 07:12:07
|
Revision: 4496 http://fudaa.svn.sourceforge.net/fudaa/?rev=4496&view=rev Author: hadouxad Date: 2009-02-25 07:11:56 +0000 (Wed, 25 Feb 2009) Log Message: ----------- * Mise en place du design patern decorator pour le EGModel + Cr?\195?\169ation du mod?\195?\168le inverse + prise en compte du mod?\195?\168le inverse comme action de la courbe + Persistance des donn?\195?\169es: l'inversion est persist?\195?\169 par un simple bool?\195?\169en dans EGourbePersist. Les donn?\195?\169es enregistr?\195?\169es sont celle du mod?\195?\168le initial. * Persistance des fl?\195?\168che connector et am?\195?\169lioration de l'?\195?\169diteur *Mise en place du format volume fini pour le superviseur et execution automatique des fichiers depuis ce dernier Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReader.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbePersist.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGSpecificActions.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActAbstract.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActSerafin.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrFileFormatManager.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostMultiSourceActivator.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostMultiSourceActivator2.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/persist/TrPostPersistenceManager.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinVolumeFileFilter.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinVolumeFileFormat.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecorator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecoratorInverse.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/volume/fleches/ascenseur/Thumbs.db branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/volume/fleches/rotation/Thumbs.db branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/volume/fleches/translation/Thumbs.db branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.lock branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.mylyn/contexts/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.mylyn/offline/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.mylyn/repositories.xml.zip branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/com.itsolut.mantis.core/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/com.itsolut.mantis.core/repositoryConfigurations branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.history/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.safetable/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.recording.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.equinox.p2.ui.sdk.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.j2ee.webservice.ui.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.cvs.ui.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.ui.prefs branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload0.csv branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload1.csv branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload2.csv branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload3.csv branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload4.csv branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload5.csv branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload6.csv branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload7.csv branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload8.csv branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.epp.usagedata.recording/usagedata.csv branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.equinox.p2.ui.sdk/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.jdt.core/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.jdt.ui/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.team.cvs.core/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.ui.workbench/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.wst.jsdt.core/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.wst.jsdt.ui/ branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/version.ini Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecorator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecoratorDefault.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecoratorInverse.java Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReader.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReader.java 2009-02-24 17:31:06 UTC (rev 4495) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinNewReader.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -60,6 +60,16 @@ // correctio long readTimeStepFrom_ = -1; + + + public SerafinNewReader(){ + this(false); + } + + public SerafinNewReader(boolean isVolumique){ + isVolumique_=isVolumique; + } + /** * @return true si on doit lire que le dernier pas de temps */ Added: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinVolumeFileFilter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinVolumeFileFilter.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinVolumeFileFilter.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -0,0 +1,78 @@ +package org.fudaa.dodico.telemac.io; + +import java.io.File; + +import com.memoire.bu.BuFileFilter; + +/** + * Filter fichier volumes finis. + * @author Adrien Hadoux + * + */ +public class SerafinVolumeFileFilter extends BuFileFilter { + + /** + * @param _ft le format serafin + */ + public SerafinVolumeFileFilter(final SerafinVolumeFileFormat _ft) { + super(_ft.getExtensions(), _ft.getName()); + } + boolean strict_; + + public SerafinVolumeFileFilter(final SerafinVolumeFileFormat _ft, final boolean _strict) { + super( _ft.getExtensions(), _ft.getName()); + strict_ = _strict; + } + + public boolean accept(final File _d, final String _fn) { + if (_fn == null) { + return false; + } + boolean res = super.accept(_d, _fn); + if (strict_) { + return res; + } + if (!res) { + res = isOk(_fn); + } + return res; + } + + private boolean isOk(final String _name) { + if ((_name.indexOf('.') < 0)) { + return _name.startsWith("volafin") || _name.startsWith("volfin") || _name.endsWith("vol")|| _name.endsWith("volume"); + } + return false; + } + + public boolean accept(final File _f) { + if (_f == null) { + return false; + } + final String name = _f.getName(); + if (name == null) { + return false; + } + boolean res = super.accept(_f); + if (!res) { + res = isOk(name); + } + return res; + } + + /** + * @param _name le nom du fichier a tester + * @return true si c'est un fichier r\xE9sultat + */ + public boolean isResFile(final String _name) { + return _name.toLowerCase().endsWith(".vol")|| _name.endsWith(".volfin")|| _name.toLowerCase().endsWith(".volafin")|| _name.toLowerCase().endsWith(".volume"); + } + + /** + * @param _f le fichier a tester + * @return true si c'est un fichier r\xE9sultat + */ + public boolean isResFile(final File _f) { + return _f.isFile() && isResFile(_f.getName()); + } + } \ No newline at end of file Added: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinVolumeFileFormat.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinVolumeFileFormat.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/io/SerafinVolumeFileFormat.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -0,0 +1,316 @@ +package org.fudaa.dodico.telemac.io; + +import java.io.File; + +import org.fudaa.ctulu.CtuluIOOperationSynthese; +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.ProgressionInterface; +import org.fudaa.ctulu.fileformat.FileFormatUnique; +import org.fudaa.ctulu.fileformat.FileReadOperationAbstract; +import org.fudaa.ctulu.fileformat.FileWriteOperationAbstract; +import org.fudaa.dodico.dico.DicoLanguage; +import org.fudaa.dodico.ef.EfElementType; +import org.fudaa.dodico.ef.EfGridInterface; +import org.fudaa.dodico.ef.EfGridSource; +import org.fudaa.dodico.ef.FileFormatGridVersion; +import org.fudaa.dodico.fichiers.FileFormatSoftware; +import org.fudaa.dodico.h2d.resource.H2dResource; +import org.fudaa.dodico.h2d.type.H2dFileFormatType; + +import com.memoire.bu.BuFileFilter; + +/** + * Gestion des fichiers serafin pour les volumes + * @author Adrien Hadoux + * + */ +public class SerafinVolumeFileFormat extends FileFormatUnique implements SerafinFileFormatVersionInterface,FileFormatGridVersion { + + private static final SerafinVolumeFileFormat INSTANCE = new SerafinVolumeFileFormat(); + + /** + * Nombre de param dans le tableau IParam. + */ + public static final int IPARAM_NB = 10; + + /** + * @return le nom de la variable utilisee pour designer le fond + */ + public static String[] getCommonVariableFond() { + return new String[] { "FOND", "BOTTOM", "COTE_DU_FOND", "BOTTOM_LEVEL", "altimetrie" }; + } + + public static boolean is3DGrid(final EfGridInterface _grid) { + return _grid != null && (EfElementType.T3_FOR_3D == _grid.getEltType() || EfElementType.T6 == _grid.getEltType()); + } + + public static int getNbPlanIn3D(final int[] _iparams) { + if (_iparams != null && _iparams.length == IPARAM_NB) { return _iparams[6]; } + return 1; + } + + /** + * @return BOTTOM + */ + public static String getEnVariableFond() { + return "BOTTOM"; + } + + /** + * @return FOND + */ + public static String getFrVariableFond() { + return "FOND"; + } + + /** + * @return le singleton + */ + public static SerafinVolumeFileFormat getInstance() { + return INSTANCE; + } + + /** + * @return le nom de la variable a utiliser pour la bathymetrie. dans le langage utilise (fr ou en) + */ + public static String getStaticDefaultVariableFond() { + return SerafinFileFormat.getVariableFond(DicoLanguage.getCurrentID()); + } + + /** + * @param _dicoLanguageIdx l'identifiant du langage + * @return le nom de la variable a utiliser pour la bathymetrie. + * @see DicoLanguage#getCurrentID() + */ + public static String getVariableFond(final int _dicoLanguageIdx) { + if (_dicoLanguageIdx == DicoLanguage.ENGLISH_ID) { return getEnVariableFond(); } + return getFrVariableFond(); + } + + /** + * Renvoie true si les donnees, pour chaque pas de temps, sont formattees en colonnees ( forme non compacte ou + * "unpackad form"). Teste en fait si IPARAM[1]==1. + * + * @param _s le tableau iparam utilise pour savoir si colonne ou non. + * @return FormatEnColonne + */ + public static boolean isFormatEnColonneCommon(final int[] _s) { + return _s[0] == 1 ? true : false; + } + + /** + * A partir de <code>_s</code>, determine si la date (Idate) du projet est presente dans le fichier. Si la valeur du + * 10 element vaut 1, la date est definie. + * + * @param _s talbeau iparam a tester + * @return true si Idate definie dans le projet. + */ + public static boolean isIdateDefiniCommon(final int[] _s) { + if (_s[9] == 1) { return true; } + return false; + } + + protected SerafinVolumeFileFormat() { + super(1); + extensions_ = new String[] { "vol", "volafin", "volfin", "vol3d", "vol2d", "volu" }; + id_ = "SERAFIN VOLUME"; + nom_ = "Volumes Serafin"; + description_ = H2dResource + .getS("Fichier binaire comportant le mod\xE8le num\xE9rique de terrain et des propri\xE9t\xE9s nodales"); + software_ = FileFormatSoftware.TELEMAC_IS; + type_ = H2dFileFormatType.MAILLAGE; + } + + /** + * @return true + */ + public boolean canWriteOnlyGrid() { + return true; + } + + public boolean containsGrid() { + return true; + } + + public BuFileFilter createFileFilter() { + return new SerafinVolumeFileFilter(this); + } + + public BuFileFilter createFileFilterStrict() { + return new SerafinVolumeFileFilter(this, true); + } + + /** + * @return le reader. + */ + public FileReadOperationAbstract createReader() { + return createSerafinReader(); + } + + /** + * @return le reader + */ + public SerafinNewReader createSerafinReader() { + return new SerafinNewReader(true); + } + + /** + * @return le writer + */ + public SerafinWriter createSerafinWriter() { + return new SerafinWriter(this); + } + + /** + * Lit le dernier pas de temps uniquement. + * + * @param _file le fichier a lire + * @param _prog la progression + * @return synthese de l'operation + */ + public CtuluIOOperationSynthese readLast(final File _file, final ProgressionInterface _prog) { + final SerafinNewReader r = createSerafinReader(); + r.setOnlyReadLast(true); + return r.read(_file, _prog); + } + + /** + * @return le writer. + */ + public FileWriteOperationAbstract createWriter() { + return createSerafinWriter(); + } + + public String getDefaultVariableFond() { + return getStaticDefaultVariableFond(); + } + + public int getParamNb() { + return IPARAM_NB; + } + + /** + * @return le nom de la variable utilisee pour designer le fond + */ + public String[] getVariableFond() { + return getCommonVariableFond(); + } + + public String getVersionName() { + return CtuluLibString.UN; + } + + /** + * Renvoie true si les donnees, pour chaque pas de temps, sont formattees en colonnees ( forme non compacte ou + * "unpackad form"). Teste en fait si IPARAM[1]==1. + * + * @param _s le tableau iparam utilise pour savoir si colonne ou non. + * @return FormatEnColonne + */ + public boolean isFormatEnColonne(final int[] _s) { + return _s[0] == 1 ? true : false; + } + + /** + * A partir de <code>_s</code>, determine si la date (Idate) du projet est presente dans le fichier. Si la valeur du + * 10 element vaut 1, la date est definie. + * + * @param _s talbeau iparam a tester + * @return true si Idate definie dans le projet. + */ + public boolean isIdateDefini(final int[] _s) { + if (_s[9] == 1) { return true; } + return false; + } + + public CtuluIOOperationSynthese readGrid(final File _f, final ProgressionInterface _prog) { + final SerafinNewReader i = createSerafinReader(); + i.setOnlyReadLast(true); + final CtuluIOOperationSynthese r = i.read(_f, _prog); + i.setProgressReceiver(null); + final SerafinAdapter adapter = (SerafinAdapter) r.getSource(); + if (adapter == null) { return r; } + adapter.majGridFond(); + + return r; + } + + public CtuluIOOperationSynthese readListPoint(final File _f, final ProgressionInterface _prog) { + final CtuluIOOperationSynthese s = read(_f, _prog); + s.setSource(((SerafinInterface) s.getSource()).getGrid()); + return s; + } + + /** + * @param _s tableau a modifier afin de prendre en compte la date. + */ + public void setDateDefini(final int[] _s) { + _s[9] = 1; + } + + /** + * @param _s le tableau iparam a modifier pour le format colonne + */ + public void setFormatColonne(final int[] _s) { + _s[0] = 1; + } + + /** + * @param _s tableau a modifier afin de ne pas prendre en compte la date. + */ + public void unsetDateDefini(final int[] _s) { + _s[9] = 0; + } + + /** + * @param _s le tableau iparam a modifier pour ne pas etre dans le format colonne + */ + public void unsetFormatColonne(final int[] _s) { + _s[0] = 0; + } + + /** + * @param _f le fichier a ecrire. + * @param _source la source pour ecrire. + * @param _prog la barre de progression + * @return la synthese de l'operation + */ + public CtuluIOOperationSynthese write(final File _f, final SerafinInterface _source, final ProgressionInterface _prog) { + final SerafinWriter w = new SerafinWriter(this); + w.setFile(_f); + w.setProgressReceiver(_prog); + return w.write(_source); + } + + /** + * @param _f le fichier a ecrire + * @param _m le maillage a ecrire + * @param _prog la barre de progression + * @return la synthese de l'operation + */ + public CtuluIOOperationSynthese writeGrid(final File _f, final EfGridInterface _m, final ProgressionInterface _prog) { + return write(_f, new SerafinMaillageAdapter(this, _m), _prog); + } + + public CtuluIOOperationSynthese writeGrid(final File _f, final EfGridSource _m, final ProgressionInterface _prog) { + return write(_f, new SerafinGridSourceAdapter(_m, this, getDefaultVariableFond()), _prog); + } + + /** + * Ecrit dans le format binaire adapte au systeme OS. + * + * @param _f le fichier a ecrire. + * @param _source la source pour ecrire + * @param _prog la barre de progression + * @return la synthese de l'ecriture. + */ + public CtuluIOOperationSynthese writeSparc(final File _f, final SerafinInterface _source, + final ProgressionInterface _prog) { + final SerafinWriter w = new SerafinWriter(this); + w.setMachineSPARC(); + w.setFile(_f); + w.setProgressReceiver(_prog); + return w.write(_source); + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2009-02-24 17:31:06 UTC (rev 4495) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -67,7 +67,7 @@ // private double[] markH_; - EgCourbeDecorator decorator_; + /** * la liste des valeurs marquees @@ -101,7 +101,7 @@ iconeModel_ = new TraceIconModel(TraceIcon.RIEN, 1, Color.BLACK); lineModel_ = new TraceLigneModel(); model_ = _model; - decorator_=new EgCourbeDecoratorDefault(); + } private void buildLigneMarqueur() { @@ -435,87 +435,86 @@ return; } - //-- le decorator prend en charge le dessin de la courbe --// - decorator_.dessine(_g, this, _t); + -// final Shape oldClip = _g.getClip(); -// final int minX = _t.getMinEcranX(); -// final int adjust = 3; -// _g.setClip(minX - adjust, 0, _t.getMaxEcranX() - minX + adjust * 2, _t.getH()); -// final int nbPt = model_.getNbValues(); -// double xi, yi, xie, yie; -// boolean xiVisible; -// boolean yiVisible; -// double xpe = 0; -// double ype = 0; -// double ypeVal=0; -// boolean xpVisible = false; -// Envelope rangeDisplayed = null; -// _g.setColor(EbliLib.getAlphaColor(getAspectContour(), alpha_)); -// final boolean isAlphaChanged = EbliLib.isAlphaChanged(alpha_); -// final TraceIcon trIcon = new TraceIcon(isAlphaChanged ? new TraceIconModel(iconeModel_) : iconeModel_); -// final TraceLigne trLigne = new TraceLigne(isAlphaChanged ? new TraceLigneModel(lineModel_) : lineModel_); -// if (isAlphaChanged) { -// trIcon.setCouleur(EbliLib.getAlphaColor(trIcon.getCouleur(), alpha_)); -// trLigne.setCouleur(EbliLib.getAlphaColor(trLigne.getCouleur(), alpha_)); -// } -// for (int i = 0; i < nbPt; i++) { -// xi = model_.getX(i); -// yi = model_.getY(i); -// xie = _t.getXEcran(xi); -// yie = _t.getYEcran(yi, getAxeY()); -// xiVisible = _t.getXAxe().containsPoint(xi); -// yiVisible = getAxeY().containsPoint(yi); -// -// if (model_.isPointDrawn(i) && xiVisible && yiVisible && iconeModel_.getType() != TraceIcon.RIEN) { -// if (displayTitleOnCurve_) { -// if (rangeDisplayed == null) { -// rangeDisplayed = new Envelope(); -// } -// rangeDisplayed.expandToInclude(xi, yi); -// } -// // icone_.couleur(getAspectContour()); -// trIcon.paintIconCentre(_g, xie, yie); -// } -// if ((i > 0) && model_.isSegmentDrawn(i - 1) && (xpVisible || xiVisible || _t.getXAxe().isContained(xpe, xie))) { -// if (displayTitleOnCurve_) { -// if (rangeDisplayed == null) { -// rangeDisplayed = new Envelope(); -// } -// rangeDisplayed.expandToInclude(xi, yi); -// } -// paintSurface(_g, _t, i); -// -// if(!nuagePoints_){ -// //-- attention si le point depasse de l'\xE9cran il faut dessinner le trait jusqu'\xE0 la limite de l'axe--// -// double newyi=Math.min(yi, getAxeY().getMaximum()); -// newyi=Math.max(newyi, getAxeY().getMinimum()); -// double newyie=_t.getYEcran(newyi, getAxeY()); -// -// double newyi2=Math.min(ypeVal, getAxeY().getMaximum()); -// newyi2=Math.max(newyi2, getAxeY().getMinimum()); -// double newyie2=_t.getYEcran(newyi2, getAxeY()); -// -// trLigne.dessineTrait(_g, xie, newyie, xpe, newyie2); -// -// } -// else{ -// //-- trace un + --// -// //-- ligne | --// -// trLigne.dessineTrait(_g, xie, yie-largeurPointsNuage_/2, xie, yie+largeurPointsNuage_/2); -// //--ligne - --// -// trLigne.dessineTrait(_g, xie-largeurPointsNuage_/2, yie, xie+largeurPointsNuage_/2, yie); -// //dessineRectangle(_g, xie-largeurPointsNuage_/2, yie-largeurPointsNuage_/2, largeurPointsNuage_, largeurPointsNuage_); -// } -// } -// xpVisible = xiVisible; -// xpe = xie; -// ype = yie; -// ypeVal=yi; -// } -// _g.setClip(oldClip); -// traceMarks(_g, _t); -// traceTitle(_g, _t, rangeDisplayed); + final Shape oldClip = _g.getClip(); + final int minX = _t.getMinEcranX(); + final int adjust = 3; + _g.setClip(minX - adjust, 0, _t.getMaxEcranX() - minX + adjust * 2, _t.getH()); + final int nbPt = model_.getNbValues(); + double xi, yi, xie, yie; + boolean xiVisible; + boolean yiVisible; + double xpe = 0; + double ype = 0; + double ypeVal=0; + boolean xpVisible = false; + Envelope rangeDisplayed = null; + _g.setColor(EbliLib.getAlphaColor(getAspectContour(), alpha_)); + final boolean isAlphaChanged = EbliLib.isAlphaChanged(alpha_); + final TraceIcon trIcon = new TraceIcon(isAlphaChanged ? new TraceIconModel(iconeModel_) : iconeModel_); + final TraceLigne trLigne = new TraceLigne(isAlphaChanged ? new TraceLigneModel(lineModel_) : lineModel_); + if (isAlphaChanged) { + trIcon.setCouleur(EbliLib.getAlphaColor(trIcon.getCouleur(), alpha_)); + trLigne.setCouleur(EbliLib.getAlphaColor(trLigne.getCouleur(), alpha_)); + } + for (int i = 0; i < nbPt; i++) { + xi = model_.getX(i); + yi = model_.getY(i); + xie = _t.getXEcran(xi); + yie = _t.getYEcran(yi, getAxeY()); + xiVisible = _t.getXAxe().containsPoint(xi); + yiVisible = getAxeY().containsPoint(yi); + + if (model_.isPointDrawn(i) && xiVisible && yiVisible && iconeModel_.getType() != TraceIcon.RIEN) { + if (displayTitleOnCurve_) { + if (rangeDisplayed == null) { + rangeDisplayed = new Envelope(); + } + rangeDisplayed.expandToInclude(xi, yi); + } + // icone_.couleur(getAspectContour()); + trIcon.paintIconCentre(_g, xie, yie); + } + if ((i > 0) && model_.isSegmentDrawn(i - 1) && (xpVisible || xiVisible || _t.getXAxe().isContained(xpe, xie))) { + if (displayTitleOnCurve_) { + if (rangeDisplayed == null) { + rangeDisplayed = new Envelope(); + } + rangeDisplayed.expandToInclude(xi, yi); + } + paintSurface(_g, _t, i); + + if(!nuagePoints_){ + //-- attention si le point depasse de l'\xE9cran il faut dessinner le trait jusqu'\xE0 la limite de l'axe--// + double newyi=Math.min(yi, getAxeY().getMaximum()); + newyi=Math.max(newyi, getAxeY().getMinimum()); + double newyie=_t.getYEcran(newyi, getAxeY()); + + double newyi2=Math.min(ypeVal, getAxeY().getMaximum()); + newyi2=Math.max(newyi2, getAxeY().getMinimum()); + double newyie2=_t.getYEcran(newyi2, getAxeY()); + + trLigne.dessineTrait(_g, xie, newyie, xpe, newyie2); + + } + else{ + //-- trace un + --// + //-- ligne | --// + trLigne.dessineTrait(_g, xie, yie-largeurPointsNuage_/2, xie, yie+largeurPointsNuage_/2); + //--ligne - --// + trLigne.dessineTrait(_g, xie-largeurPointsNuage_/2, yie, xie+largeurPointsNuage_/2, yie); + //dessineRectangle(_g, xie-largeurPointsNuage_/2, yie-largeurPointsNuage_/2, largeurPointsNuage_, largeurPointsNuage_); + } + } + xpVisible = xiVisible; + xpe = xie; + ype = yie; + ypeVal=yi; + } + _g.setClip(oldClip); + traceMarks(_g, _t); + traceTitle(_g, _t, rangeDisplayed); } @@ -673,10 +672,26 @@ return listeMarqueurs_; } + + /** + * A ne pas utiliser pour la persistance, il se peut que le eg model soit un decorator. + * @return + */ public EGModel getModel() { return model_; } + /** + * Retourne le modele initial, sans decorateur. + * @return + */ + public EGModel getInitialModel() { + if(getModel() instanceof EGModelDecorator) + return ((EGModelDecorator) getModel() ).getModeleInitial(); + else + return getModel(); + } + public int getNearestIdx(final double _x) { int low = 0; int high = model_.getNbValues() - 1; @@ -1072,13 +1087,24 @@ return false; } - public EgCourbeDecorator getDecorator() { - return decorator_; + + public boolean isInverse=false; + /** + * Methode qui inverse le modele x par rapport \xE0 y + */ + public void inverserModele(){ + + if(!isInverse){ + EGModelDecoratorInverse modelInverse=new EGModelDecoratorInverse(getModel()); + setModel(modelInverse); + }else{ + //-- on lui re- set le modele --// + setModel(getInitialModel()); + } + isInverse=!isInverse; + } - public void setDecorator(EgCourbeDecorator decorator) { - this.decorator_ = decorator; - } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbePersist.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbePersist.java 2009-02-24 17:31:06 UTC (rev 4495) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbePersist.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -40,6 +40,9 @@ //-- liste des marqueurs --// List<EGCourbeMarqueur> listeMarqueurs_; + //-- inverse ou non les x et y --// + boolean inverse=false; + public EGCourbePersist(EGCourbeChild courbe, int IdGroup) { fillInfoWith(courbe,IdGroup); } @@ -48,15 +51,15 @@ this.Idgroup=idgroupe; title_=courbe.getTitle(); this.nuagePoints=courbe.isNuagePoints(); - Xmin = courbe.getModel().getXMin(); - Xmax = courbe.getModel().getXMax(); - Ymin = courbe.getModel().getYMin(); - Ymax = courbe.getModel().getYMax(); - this.abscisses = new double[courbe.getModel().getNbValues()]; - this.ordonnees = new double[courbe.getModel().getNbValues()]; - for(int i=0;i<courbe.getModel().getNbValues();i++){ - this.abscisses[i]=courbe.getModel().getX(i); - this.ordonnees[i]=courbe.getModel().getY(i); + Xmin = courbe.getInitialModel().getXMin(); + Xmax = courbe.getInitialModel().getXMax(); + Ymin = courbe.getInitialModel().getYMin(); + Ymax = courbe.getInitialModel().getYMax(); + this.abscisses = new double[courbe.getInitialModel().getNbValues()]; + this.ordonnees = new double[courbe.getInitialModel().getNbValues()]; + for(int i=0;i<courbe.getInitialModel().getNbValues();i++){ + this.abscisses[i]=courbe.getInitialModel().getX(i); + this.ordonnees[i]=courbe.getInitialModel().getY(i); } //graphiques @@ -72,8 +75,9 @@ //-- donnees specifiques --// //-- exemple pour evol: pdt, point,variable, fichier source --// - dataSpecifiques=courbe.getModel().getPersistSpecificDatas(); - classeModel=courbe.getModel().getClass().toString(); + dataSpecifiques=courbe.getInitialModel().getPersistSpecificDatas(); + classeModel=courbe.getInitialModel().getClass().toString(); + inverse=courbe.isInverse; } @@ -118,6 +122,7 @@ courbe=new EGCourbeChild(_groupe,model); courbe.setTitle(title_); + //graphiques if(tracebox!=null) courbe.setTbox_(tracebox); @@ -131,6 +136,11 @@ if(listeMarqueurs_!=null) courbe.setMarqueurs(listeMarqueurs_); + + //-- cas courbe inverse: on lui applique le decorator model inverse --// + if(inverse) + courbe.inverserModele(); + return courbe; } Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecorator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecorator.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecorator.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -0,0 +1,19 @@ +package org.fudaa.ebli.courbe; + + +/** + * Decorator pour le EGModel, + * permet de g\xE9rer sans trop de d\xE9gat des egmodel aux comportements diff\xE9rents. + * Utilise le design pattern decorator. + * @author Adrien Hadoux + * + */ +public abstract class EGModelDecorator implements EGModel{ + + /** + * retourme le egmodel initial + * @return + */ + public abstract EGModel getModeleInitial(); + +} Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecoratorInverse.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecoratorInverse.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecoratorInverse.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -0,0 +1,213 @@ +package org.fudaa.ebli.courbe; + +import java.util.Map; + +import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluListSelectionInterface; +import org.fudaa.ctulu.CtuluUI; +import org.fudaa.ebli.palette.BPaletteInfo.InfoData; + + +/** + * Decorator pour le EGModel, inverse les x et y de la courbe. + * utilise le design pattern decorator. + * permet de g\xE9rer sans trop de d\xE9gat l'inversion des donn\xE9es. + * @author Adrien Hadoux + * + */ +public class EGModelDecoratorInverse extends EGModelDecorator{ + + /** + * l'instance du modele correct avant inversion. + * C'est \xE0 partir de ce modele que va se produire l'inversion. + */ + private final EGModel instanceModele_; + + public EGModelDecoratorInverse(final EGModel modeleInitial){ + instanceModele_=modeleInitial; + } + + + + public EGModel getModeleInitial(){ + return instanceModele_; + } + + + public boolean addValue(double _x, double _y, CtuluCommandContainer _cmd) { + + return instanceModele_.addValue(_x, _y, _cmd); + } + + + public boolean addValue(double[] _x, double[] _y, CtuluCommandContainer _cmd) { + + return instanceModele_.addValue(_x, _y, _cmd); + } + + + public boolean deplace(int[] idx, double _deltax, double _deltay, + CtuluCommandContainer _cmd) { + + return instanceModele_.deplace(idx, _deltax, _deltay, _cmd); + } + + + public EGModel duplicate() { + + return instanceModele_.duplicate(); + } + + + public void fillWithInfo(InfoData _table, CtuluListSelectionInterface pt) { + + instanceModele_.fillWithInfo(_table, pt); + } + + + public int getNbValues() { + + return instanceModele_.getNbValues(); + } + + + public Object getPersistSpecificDatas() { + + return instanceModele_.getPersistSpecificDatas(); + } + + + public String getTitle() { + + return instanceModele_.getTitle(); + } + + + public double getX(int _idx) { + + return instanceModele_.getY(_idx); + } + + + public double getXMax() { + + return instanceModele_.getYMax(); + } + + + public double getXMin() { + + return instanceModele_.getYMin(); + } + + + public double getY(int _idx) { + + return instanceModele_.getX(_idx); + } + + + public double getYMax() { + + return instanceModele_.getXMax(); + } + + + public double getYMin() { + + return instanceModele_.getXMin(); + } + + + public boolean isDuplicatable() { + + return instanceModele_.isDuplicatable(); + } + + + public boolean isModifiable() { + + return instanceModele_.isModifiable(); + } + + + public boolean isPointDrawn(int _i) { + + return instanceModele_.isPointDrawn(_i); + } + + + public boolean isRemovable() { + + return instanceModele_.isRemovable(); + } + + + public boolean isSegmentDrawn(int _i) { + + return instanceModele_.isSegmentDrawn(_i); + } + + + public boolean isTitleModifiable() { + + return instanceModele_.isTitleModifiable(); + } + + + public boolean isXModifiable() { + + return instanceModele_.isXModifiable(); + } + + + public boolean removeValue(int _i, CtuluCommandContainer _cmd) { + + return instanceModele_.removeValue(_i, _cmd); + } + + + public boolean removeValue(int[] _i, CtuluCommandContainer _cmd) { + + return instanceModele_.removeValue(_i, _cmd); + } + + + public void replayData(EGGrapheTreeModel model, Map infos, CtuluUI impl) { + instanceModele_.replayData(model, infos, impl); + + } + + + public void setPersistSpecificDatas(Object data, Map infos) { + instanceModele_.setPersistSpecificDatas(data, infos); + + } + + + public boolean setTitle(String name) { + + return instanceModele_.setTitle(name); + } + + + public boolean setValue(int _i, double _x, double _y, + CtuluCommandContainer _cmd) { + + return instanceModele_.setValue(_i, _x, _y, _cmd); + } + + + public boolean setValues(int[] _idx, double[] _x, double[] _y, + CtuluCommandContainer _cmd) { + + return instanceModele_.setValues(_idx, _x, _y, _cmd); + } + + + public void viewGenerationSource(Map infos, CtuluUI impl) { + + instanceModele_.viewGenerationSource(infos, impl); + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGSpecificActions.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGSpecificActions.java 2009-02-24 17:31:06 UTC (rev 4495) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGSpecificActions.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -139,6 +139,12 @@ //-- action origine de la courbe. --// menu_.add(new EGActionAfficheOrigineCourbe.CourbeOnly(courbe.getModel(),ui_)); + + menu_.addMenuItem(EbliResource.EBLI.getString("Inverser x et y"), "INVERSER", EbliResource.EBLI.getIcon("inverser") + , true, this); + + + //-- action replay data --// // menu_.add(new EGActionReplayDataCourbe.CourbeOnly(courbe.getModel(),ui_)); } @@ -189,6 +195,15 @@ target_.getSelectedComponent().nuagePoints_=!target_.getSelectedComponent().nuagePoints_; target_.getModel().fireCourbeAspectChanged(null, false); } + else if("INVERSER".equals(com)){ + //-- on inverse le modele --// + target_.getSelectedComponent().inverserModele(); + target_.getModel().fireAxeContentChanged(target_.getModel().getAxeX()); + //target_.getModel().fireAxeContentChanged(target_.getModel().get); + target_.getModel().fireCourbeAspectChanged(null, false); +// target_.getModel().fireStructureChanged(); + } + else if ("COPIESRC".equals(com)) { target_.getModel().duplicateCourbeForSrc(cmd_, target_.getSelectedComponent()); Deleted: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecorator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecorator.java 2009-02-24 17:31:06 UTC (rev 4495) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecorator.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -1,20 +0,0 @@ -package org.fudaa.ebli.courbe; - -import java.awt.Graphics2D; - - -/** - * Interface qui s'occupe de dessiner les courbes x et y. - * @author Adrien Hadoux - * - */ -public interface EgCourbeDecorator { - - /** - * Methode qui permet de dessinner le contenu de la courbe dans le graphics. - * @param _g - * @param model - * @param _t - */ - public void dessine(final Graphics2D _g, final EGCourbe courbe, final EGRepere _t) ; -} Deleted: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecoratorDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecoratorDefault.java 2009-02-24 17:31:06 UTC (rev 4495) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecoratorDefault.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -1,106 +0,0 @@ -package org.fudaa.ebli.courbe; - -import java.awt.Graphics2D; -import java.awt.Shape; - -import org.fudaa.ebli.commun.EbliLib; -import org.fudaa.ebli.trace.TraceIcon; -import org.fudaa.ebli.trace.TraceIconModel; -import org.fudaa.ebli.trace.TraceLigne; -import org.fudaa.ebli.trace.TraceLigneModel; - -import com.vividsolutions.jts.geom.Envelope; - -/** - * Dcorator de courbe par defaut de la courbe. - * Dessine une courbe par defaut x en abscisses et y en ordonn\xE9es. - * @author Adrien Hadoux - * - */ -public class EgCourbeDecoratorDefault implements EgCourbeDecorator { - - - - public void dessine(Graphics2D _g, EGCourbe courbe, EGRepere _t) { - EGModel model=courbe.getModel(); - final Shape oldClip = _g.getClip(); - final int minX = _t.getMinEcranX(); - final int adjust = 3; - _g.setClip(minX - adjust, 0, _t.getMaxEcranX() - minX + adjust * 2, _t.getH()); - final int nbPt = model.getNbValues(); - double xi, yi, xie, yie; - boolean xiVisible; - boolean yiVisible; - double xpe = 0; - double ype = 0; - double ypeVal=0; - boolean xpVisible = false; - Envelope rangeDisplayed = null; - _g.setColor(EbliLib.getAlphaColor(courbe.getAspectContour(), courbe.getAlpha())); - final boolean isAlphaChanged = EbliLib.isAlphaChanged(courbe.getAlpha()); - final TraceIcon trIcon = new TraceIcon(isAlphaChanged ? new TraceIconModel(courbe.getIconModel()) : courbe.getIconModel()); - final TraceLigne trLigne = new TraceLigne(isAlphaChanged ? new TraceLigneModel(courbe.getLigneModel()) : courbe.getLigneModel()); - if (isAlphaChanged) { - trIcon.setCouleur(EbliLib.getAlphaColor(trIcon.getCouleur(), courbe.getAlpha())); - trLigne.setCouleur(EbliLib.getAlphaColor(trLigne.getCouleur(), courbe.getAlpha())); - } - for (int i = 0; i < nbPt; i++) { - xi = model.getX(i); - yi = model.getY(i); - xie = _t.getXEcran(xi); - yie = _t.getYEcran(yi, courbe.getAxeY()); - xiVisible = _t.getXAxe().containsPoint(xi); - yiVisible = courbe.getAxeY().containsPoint(yi); - - if (model.isPointDrawn(i) && xiVisible && yiVisible && courbe.getIconModel().getType() != TraceIcon.RIEN) { - if (courbe.displayTitleOnCurve_) { - if (rangeDisplayed == null) { - rangeDisplayed = new Envelope(); - } - rangeDisplayed.expandToInclude(xi, yi); - } - // icone_.couleur(getAspectContour()); - trIcon.paintIconCentre(_g, xie, yie); - } - if ((i > 0) && model.isSegmentDrawn(i - 1) && (xpVisible || xiVisible || _t.getXAxe().isContained(xpe, xie))) { - if (courbe.displayTitleOnCurve_) { - if (rangeDisplayed == null) { - rangeDisplayed = new Envelope(); - } - rangeDisplayed.expandToInclude(xi, yi); - } - courbe.paintSurface(_g, _t, i); - - if(!courbe.nuagePoints_){ - //-- attention si le point depasse de l'\xE9cran il faut dessinner le trait jusqu'\xE0 la limite de l'axe--// - double newyi=Math.min(yi, courbe.getAxeY().getMaximum()); - newyi=Math.max(newyi, courbe.getAxeY().getMinimum()); - double newyie=_t.getYEcran(newyi, courbe.getAxeY()); - - double newyi2=Math.min(ypeVal, courbe.getAxeY().getMaximum()); - newyi2=Math.max(newyi2, courbe.getAxeY().getMinimum()); - double newyie2=_t.getYEcran(newyi2, courbe.getAxeY()); - - trLigne.dessineTrait(_g, xie, newyie, xpe, newyie2); - - } - else{ - //-- trace un + --// - //-- ligne | --// - trLigne.dessineTrait(_g, xie, yie-courbe.largeurPointsNuage_/2, xie, yie+courbe.largeurPointsNuage_/2); - //--ligne - --// - trLigne.dessineTrait(_g, xie-courbe.largeurPointsNuage_/2, yie, xie+courbe.largeurPointsNuage_/2, yie); - //dessineRectangle(_g, xie-largeurPointsNuage_/2, yie-largeurPointsNuage_/2, largeurPointsNuage_, largeurPointsNuage_); - } - } - xpVisible = xiVisible; - xpe = xie; - ype = yie; - ypeVal=yi; - } - _g.setClip(oldClip); - courbe.traceMarks(_g, _t); - courbe.traceTitle(_g, _t, rangeDisplayed); - } - -} Deleted: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecoratorInverse.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecoratorInverse.java 2009-02-24 17:31:06 UTC (rev 4495) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EgCourbeDecoratorInverse.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -1,154 +0,0 @@ -package org.fudaa.ebli.courbe; - -import java.awt.Graphics2D; -import java.awt.Shape; - -import org.fudaa.ctulu.iterator.TickIterator; -import org.fudaa.ebli.commun.EbliLib; -import org.fudaa.ebli.trace.TraceIcon; -import org.fudaa.ebli.trace.TraceIconModel; -import org.fudaa.ebli.trace.TraceLigne; -import org.fudaa.ebli.trace.TraceLigneModel; - -import com.vividsolutions.jts.geom.Envelope; - - -/** - * Dcorator de courbe. - * Dessine une courbe eninversant x en ordonn\xE9es et y en abscisses. - * @author Adrien Hadoux - * - */ -public class EgCourbeDecoratorInverse implements EgCourbeDecorator { - - /** - * Methode qui inverse l'axe x par rapport au y. - * @param _t - */ - public EGRepere inverserAxeX( EGRepere _t,EGAxeVertical axeV) { - TickIterator iterV=axeV.axisIterator_; - - //-- recopie des parametres egaxe -// - EGAxeHorizontal axeH=new EGAxeHorizontal(axeV); - - - //-- inversion des tickIterator --// - axeH.setAxisIterator(iterV); - - EGRepere repere =_t.duplicate(new EGGrapheDuplicator()); - repere.setXAxe(axeH); - - return repere; - - } - /** - * Methode qui inverse l'axe y par rapport au x. - * @param _t - */ - public EGAxeVertical inverserAxeY( EGRepere _t) { - - TickIterator iterH=_t.getXAxe().axisIterator_; - - //-- recopie des parametres egaxe -// - EGAxeVertical axeV=new EGAxeVertical(_t.getXAxe()); - - //-- inversion des tickIterator --// - axeV.setAxisIterator(iterH); - - - return axeV; - - } - - - - public void dessine(Graphics2D _g, EGCourbe courbe, EGRepere repere) { - - //-- on inverse le repere --// - EGRepere repereInverse= inverserAxeX(repere,courbe.getAxeY()); - EGAxeVertical axeVerticalInverse=inverserAxeY(repere); - - - - EGModel model=courbe.getModel(); - final Shape oldClip = _g.getClip(); - final int minX = repereInverse.getMinEcranY(); - final int adjust = 3; - _g.setClip(minX - adjust, 0, repereInverse.getMaxEcranY() - minX + adjust * 2, repereInverse.getH()); - final int nbPt = model.getNbValues(); - double xi, yi, xie, yie; - boolean xiVisible; - boolean yiVisible; - double xpe = 0; - double ype = 0; - double ypeVal=0; - boolean xpVisible = false; - Envelope rangeDisplayed = null; - _g.setColor(EbliLib.getAlphaColor(courbe.getAspectContour(), courbe.getAlpha())); - final boolean isAlphaChanged = EbliLib.isAlphaChanged(courbe.getAlpha()); - final TraceIcon trIcon = new TraceIcon(isAlphaChanged ? new TraceIconModel(courbe.getIconModel()) : courbe.getIconModel()); - final TraceLigne trLigne = new TraceLigne(isAlphaChanged ? new TraceLigneModel(courbe.getLigneModel()) : courbe.getLigneModel()); - if (isAlphaChanged) { - trIcon.setCouleur(EbliLib.getAlphaColor(trIcon.getCouleur(), courbe.getAlpha())); - trLigne.setCouleur(EbliLib.getAlphaColor(trLigne.getCouleur(), courbe.getAlpha())); - } - for (int i = 0; i < nbPt; i++) { - xi = model.getY(i); - yi = model.getX(i); - xie = repereInverse.getXEcran(xi); - yie = repereInverse.getYEcran(yi, axeVerticalInverse); - xiVisible = repereInverse.getXAxe().containsPoint(xi); - yiVisible = axeVerticalInverse.containsPoint(yi); - - if (model.isPointDrawn(i) && xiVisible && yiVisible && courbe.getIconModel().getType() != TraceIcon.RIEN) { - if (courbe.displayTitleOnCurve_) { - if (rangeDisplayed == null) { - rangeDisplayed = new Envelope(); - } - rangeDisplayed.expandToInclude(xi, yi); - } - // icone_.couleur(getAspectContour()); - trIcon.paintIconCentre(_g, xie, yie); - } - if ((i > 0) && model.isSegmentDrawn(i - 1) && (xpVisible || xiVisible || repereInverse.getXAxe().isContained(xpe, xie))) { - if (courbe.displayTitleOnCurve_) { - if (rangeDisplayed == null) { - rangeDisplayed = new Envelope(); - } - rangeDisplayed.expandToInclude(xi, yi); - } - courbe.paintSurface(_g, repereInverse, i); - - if(!courbe.nuagePoints_){ - //-- attention si le point depasse de l'\xE9cran il faut dessinner le trait jusqu'\xE0 la limite de l'axe--// - double newyi=Math.min(yi, axeVerticalInverse.getMaximum()); - newyi=Math.max(newyi, axeVerticalInverse.getMinimum()); - double newyie=repereInverse.getYEcran(newyi, axeVerticalInverse); - - double newyi2=Math.min(ypeVal, axeVerticalInverse.getMaximum()); - newyi2=Math.max(newyi2, axeVerticalInverse.getMinimum()); - double newyie2=repereInverse.getYEcran(newyi2, axeVerticalInverse); - - trLigne.dessineTrait(_g, xie, newyie, xpe, newyie2); - - } - else{ - //-- trace un + --// - //-- ligne | --// - trLigne.dessineTrait(_g, xie, yie-courbe.largeurPointsNuage_/2, xie, yie+courbe.largeurPointsNuage_/2); - //--ligne - --// - trLigne.dessineTrait(_g, xie-courbe.largeurPointsNuage_/2, yie, xie+courbe.largeurPointsNuage_/2, yie); - //dessineRectangle(_g, xie-largeurPointsNuage_/2, yie-largeurPointsNuage_/2, largeurPointsNuage_, largeurPointsNuage_); - } - } - xpVisible = xiVisible; - xpe = xie; - ype = yie; - ypeVal=yi; - } - _g.setClip(oldClip); - courbe.traceMarks(_g, repereInverse); - courbe.traceTitle(_g, repereInverse, rangeDisplayed); - - } -} Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/volume/fleches/ascenseur/Thumbs.db =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/volume/fleches/ascenseur/Thumbs.db ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/volume/fleches/rotation/Thumbs.db =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/volume/fleches/rotation/Thumbs.db ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/volume/fleches/translation/Thumbs.db =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/volume/fleches/translation/Thumbs.db ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java 2009-02-24 17:31:06 UTC (rev 4495) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java 2009-02-25 07:11:56 UTC (rev 4496) @@ -81,8 +81,8 @@ /** * forme des contours des fleches. */ - AnchorShape shapeHead_; - AnchorShape shapeTail_; + AnchorShape shapeHead_=AnchorShape.TRIANGLE_FILLED; + AnchorShape shapeTail_=AnchorShape.NONE; /** @@ -213,7 +213,10 @@ connectionAnchor_.setBackground(getTraceLigneModel().getCouleur()); //-- synchronisation du type de trait --// + if(autreExtremite!=null) autreExtremite.setTraceLigneModel(new TraceLigneModel(getTraceLigneModel())); + if(main!=null) + main.setTraceLigneModel(new TraceLigneModel(getTraceLigneModel())); getEbliScene().refresh(); } @@ -226,24 +229,18 @@ } public void valueChanged(ListSelectionEvent e) { - - int selection=typeExtremite.getSelectedIndex(); if(selection==-1) return; //-- recupere le type de connection a positionner --// AnchorShape shape= (AnchorShape) typeExtremite.getModel().getElementAt(selection); - //-- modification de la shape --// if(connectionAnchor_!=null && shape!=null ) if(isHead) connectionAnchor_.setSourceAnchorShape(shape); else connectionAnchor_.setTargetAnchorShape(shape); - - getEbliScene().refresh(); - } } @@ -272,6 +269,18 @@ deplaceExtremitesCentre(); } + + public void setTraceLigneModel(TraceLigneModel model){ + super.setTraceLigneModel(model); + //-- on modifie le contenu du connecteur --// + TraceLigne traceligne=new TraceLigne(model); + Stroke stroke=traceligne.getStroke(); + if(stroke!=null) + connectionAnchor_.setStroke(stroke); + connectionAnchor_.setForeground(getTraceLigneModel().getCouleur()); + connectionAnchor_.setBackground(getTraceLigneModel().getCouleur()); + } + /** * repositionne les widget extremites sattelites en haut de la scene (on ne voit rien dans le tree car il n'y a pas de node enegistr\xE9e pouer cette widget). */ @@ -441,8 +450,9 @@ connectionHead_.setController(new ControllerConnection(connectionHead_)); connectionTail_=new EbliSatteliteWidget(_scene,false,connection_,false); connectionTail_.setController(new ControllerConnection(connectionTail_)); + connectionHead_.setTraceLigneModel(conteneurFleche_.getTraceLigneModel()); + connectionTail_.setTraceLigneModel(conteneurFleche_.getTraceLigneModel()); - //-- ajout des sattelites pour le conteneur principal--// conteneurFleche_.addSattelite(connectionHead_); conteneurFleche_.addSattelite(connectionTail_); @@ -478,10 +488,11 @@ connection_.setSourceAnchor(AnchorFactory.createCircularAnchor (connectionHead_, 32)); connection_.setTargetAnchor(AnchorFactory.createCircularAnchor (connectionTail_, 32)); - connection_.setTargetAnchorShape(AnchorShape.TRIANGLE_FILLED); - - - + connection_.setTargetAnchorShape(shapeHead_); + connection_.setSourceAnchorShape(shapeTail_); +// connection_.setStroke((new TraceLigne(conteneurFleche_.getTraceLigneModel()).getStroke())); +// connection_.setForeground(conteneurFleche_.getTraceLigneModel().getCouleur()); +// connection_.setBackground(conteneurFleche_.getTraceLigneModel().getCouleur()); _scene.addChild(layoutConteneur_); @@ -521,14 +532,64 @@ public Object getPersistData(Map parameters) { - // TODO Auto-generated method stub - return null; + + List paramFleches=new ArrayList(4); + + Point location1=connectionHead_.getLocation(); + if(location1==null) + location1=connectionHead_.getPreferredLocation(); + if(location1!=null) + paramFleches.add(location1); + location1=connectionTail_.getLocation(); + if(location1==null) + location1=connectionTail_.getPreferredLocation(); + if(location1!=null) + paramFleches.add(location1); + + if(connection_!=null){ + if(connection_.getTargetAnchorShape()!=null) + paramFleches.add(connection_.getTargetAnchorShape()); + if(connection_.getSourceAnchorShape()!=null) + paramFleches.add(connection_.getSourceAnchorShape()); + + } + + return paramFleches; } public void setPersistData(Object data, Map parameters) { - // TODO Auto-generated method stub - + if(data==null || !(data instanceof List)) + return; + + List persist=(List)data; + + if(persist.size()!=4) + return; + + //-- recuperation des parametres --// + Point location1=(Point) persist.get(0); + Point location2=(Point) persist.get(1); + + AnchorShape shapeTarget=(AnchorShape) persist.get(2); + AnchorShape shapeSource=(AnchorShape) persist.get(3); + + //-- positionnement --// +// connectionHead_.setPreferredLocation(location1); +// connectionTail_.setPreferredLocation(location2); +// connection_.setTargetAnchorShape(shapeTarget); +// connection_.setSourceAnchorShape(shapeSource); + locationHeadX=location1.x; + locationHeadY=location1.y; + locationTailX=location2.x; + locationTailY=location2.y; + + shapeHead_=shapeTarget; + shapeTail_=shapeSource; + + + if(conteneurFleche_!=null) + conteneurFleche_.getEbliScene().refresh(); } } Added: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.mylyn/repositories.xml.zip =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.mylyn/repositories.xml.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/com.itsolut.mantis.core/repositoryConfigurations =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/com.itsolut.mantis.core/repositoryConfigurations ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/fudaa/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs =================================================================== --- branches/P... [truncated message content] |
From: <had...@us...> - 2009-02-25 19:03:57
|
Revision: 4498 http://fudaa.svn.sourceforge.net/fudaa/?rev=4498&view=rev Author: hadouxad Date: 2009-02-25 19:03:51 +0000 (Wed, 25 Feb 2009) Log Message: ----------- * Mise en place du design patern decorator pour le EGModel + Cr?\195?\169ation du mod?\195?\168le inverse + prise en compte du mod?\195?\168le inverse comme action de la courbe + Persistance des donn?\195?\169es: l'inversion est persist?\195?\169 par un simple bool?\195?\169en dans EGourbePersist. Les donn?\195?\169es enregistr?\195?\169es sont celle du mod?\195?\168le initial. * Persistance des fl?\195?\168che connector et am?\195?\169lioration de l'?\195?\169diteur * Corrections de bug pour fudaa(sauvegarder, le filter,...) * am?\195?\169liorations visuel pour le viewer pdf * Gestion du format et filtre pour les volumes (extensions vol,volfin,volafin,...) o Executon et rep?\195?\169rage automatique du format depuis le superviseur o acc?\195?\168s poru la fonctionnalit?\195?\169 d'ajout de vue 2d issue du format volfin * Exportation au format volumique o Cr?\195?\169ation de MvExportToElementDataActivity qui transforme les nodes de efgrid en ?\195?\169l?\195?\169ments o Utilisation dans MvExportActSerafin.tonodeData (test si on est en format volumique ou non) * Cr?\195?\169ation de la doc des fonctionnalit?\195?\169s du lot 4 (commit?\195?\169 dans le projet aide) Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post.pdf branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecorator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecoratorInverse.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGSpecificActions.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/GrapheTreeCellRenderer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActAbstract.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActSerafin.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportFactory.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbe.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrFileFormatManager.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceComparatorBuilder.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe Inverser X et Y.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe Inverser X et Y.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe gestion Min et Max.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe gestion Min et Max.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les echelles logarithmiques.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les echelles logarithmiques.pdf branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les volumes finis.odt branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les volumes finis.pdf branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportToElementDataActivity.java Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe Inverser X et Y.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe Inverser X et Y.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe Inverser X et Y.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe Inverser X et Y.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe gestion Min et Max.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe gestion Min et Max.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe gestion Min et Max.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Graphe gestion Min et Max.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les echelles logarithmiques.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les echelles logarithmiques.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les echelles logarithmiques.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les echelles logarithmiques.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les volumes finis.odt =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les volumes finis.odt ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les volumes finis.pdf =================================================================== (Binary files differ) Property changes on: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/Les volumes finis.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post.odt =================================================================== (Binary files differ) Modified: branches/Prepro-0.92-SNAPSHOT/aide/src/prepro/doc_pdf/post/post.pdf =================================================================== (Binary files differ) Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -1103,8 +1103,16 @@ } isInverse=!isInverse; + //-- on met a jour les axes --// + ajusterAxesForCourbe(); + + } + protected void ajusterAxesForCourbe(){ + this.getAxeY().ajusteFor(this); + this.getAxeX().setBounds(getXMin(), getXMax()); + } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecorator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecorator.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecorator.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -11,9 +11,24 @@ public abstract class EGModelDecorator implements EGModel{ /** + * l'instance du modele correct avant inversion. + * C'est \xE0 partir de ce modele que va se produire l'inversion. + */ + protected final EGModel instanceModele_; + + + + public EGModelDecorator(final EGModel modeleInitial){ + + instanceModele_=modeleInitial; + } + + /** * retourme le egmodel initial * @return */ - public abstract EGModel getModeleInitial(); + public EGModel getModeleInitial(){ + return instanceModele_; + } } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecoratorInverse.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecoratorInverse.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModelDecoratorInverse.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -17,39 +17,33 @@ */ public class EGModelDecoratorInverse extends EGModelDecorator{ - /** - * l'instance du modele correct avant inversion. - * C'est \xE0 partir de ce modele que va se produire l'inversion. - */ - private final EGModel instanceModele_; + public EGModelDecoratorInverse(final EGModel modeleInitial){ - instanceModele_=modeleInitial; + super(modeleInitial); + } - public EGModel getModeleInitial(){ - return instanceModele_; - } public boolean addValue(double _x, double _y, CtuluCommandContainer _cmd) { - return instanceModele_.addValue(_x, _y, _cmd); + return instanceModele_.addValue( _y,_x, _cmd); } public boolean addValue(double[] _x, double[] _y, CtuluCommandContainer _cmd) { - return instanceModele_.addValue(_x, _y, _cmd); + return instanceModele_.addValue( _y, _x,_cmd); } public boolean deplace(int[] idx, double _deltax, double _deltay, CtuluCommandContainer _cmd) { - return instanceModele_.deplace(idx, _deltax, _deltay, _cmd); + return instanceModele_.deplace(idx, _deltay,_deltax, _cmd); } @@ -194,14 +188,14 @@ public boolean setValue(int _i, double _x, double _y, CtuluCommandContainer _cmd) { - return instanceModele_.setValue(_i, _x, _y, _cmd); + return instanceModele_.setValue(_i, _y,_x, _cmd); } public boolean setValues(int[] _idx, double[] _x, double[] _y, CtuluCommandContainer _cmd) { - return instanceModele_.setValues(_idx, _x, _y, _cmd); + return instanceModele_.setValues(_idx, _y, _x, _cmd); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGSpecificActions.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGSpecificActions.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGSpecificActions.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -198,10 +198,12 @@ else if("INVERSER".equals(com)){ //-- on inverse le modele --// target_.getSelectedComponent().inverserModele(); + + + target_.getModel().fireAxeContentChanged(target_.getModel().getAxeX()); - //target_.getModel().fireAxeContentChanged(target_.getModel().get); - target_.getModel().fireCourbeAspectChanged(null, false); -// target_.getModel().fireStructureChanged(); + target_.getModel().fireCourbeAspectChanged(target_.getSelectedComponent(), true); + } else if ("COPIESRC".equals(com)) { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/creator/EbliWidgetCreatorConnectionWidget.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -1,12 +1,15 @@ package org.fudaa.ebli.visuallibrary.creator; import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Component; import java.awt.Dimension; +import java.awt.Graphics2D; import java.awt.Image; import java.awt.Point; import java.awt.Rectangle; import java.awt.Stroke; +import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.EnumSet; import java.util.List; @@ -15,10 +18,10 @@ import javax.swing.BorderFactory; import javax.swing.DefaultListCellRenderer; import javax.swing.DefaultListModel; +import javax.swing.ImageIcon; +import javax.swing.JLabel; import javax.swing.JList; -import javax.swing.JPanel; -import javax.swing.ListCellRenderer; -import javax.swing.ListModel; +import javax.swing.UIManager; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; @@ -34,6 +37,8 @@ import org.fudaa.ebli.visuallibrary.EbliWidgetControllerActionOnly; import org.fudaa.ebli.visuallibrary.EbliWidgetWithBordure; import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; +import org.fudaa.ebli.visuallibrary.graphe.GrapheCellRenderer; +import org.fudaa.ebli.visuallibrary.graphe.GrapheTreeCellRenderer; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.InplaceEditorProvider; import org.netbeans.api.visual.action.WidgetAction; @@ -218,6 +223,9 @@ if(main!=null) main.setTraceLigneModel(new TraceLigneModel(getTraceLigneModel())); + for(EbliWidget wig:getSattelite()) + wig.getTraceLigneModel().updateData(getTraceLigneModel()); + getEbliScene().refresh(); } @@ -279,6 +287,9 @@ connectionAnchor_.setStroke(stroke); connectionAnchor_.setForeground(getTraceLigneModel().getCouleur()); connectionAnchor_.setBackground(getTraceLigneModel().getCouleur()); + + + } /** @@ -314,6 +325,38 @@ } + + private static class CellArrowRenderer extends GrapheCellRenderer{ + public Component getListCellRendererComponent(JList list, + Object value, int index, boolean isSelected, + boolean cellHasFocus) { + if(!(value instanceof AnchorShape)) + return super.getListCellRendererComponent(list, value, index, isSelected, + cellHasFocus); + AnchorShape shape=(AnchorShape) value; + + ImageIcon icon=new ImageIcon(new BufferedImage(10,10,BufferedImage.TYPE_INT_RGB)); + Graphics2D graphic=(Graphics2D) icon.getImage().getGraphics(); + graphic.translate(0, 5); + + shape.paint(graphic,false); + setIcon(icon); + + String valeur=EbliResource.EBLI.getString("Trait"); + if(value==AnchorShape.TRIANGLE_FILLED) + valeur=EbliResource.EBLI.getString("Plein"); + else + if(value==AnchorShape.TRIANGLE_HOLLOW) + valeur=EbliResource.EBLI.getString("Contour"); + else + if(value==AnchorShape.TRIANGLE_OUT) + valeur=EbliResource.EBLI.getString("Invers\xE9"); + + setText(valeur); + return super.getListCellRendererComponent(list, this, index, isSelected, + cellHasFocus); + } + } /** * Construit la bulist qui est utilis\xE9e dans le mode \xE9dition des connecteurs extr\xE9mit\xE9s de la fleche. * @param satt @@ -330,28 +373,7 @@ //-- selection par default --// selection.setSelectedIndex(1); selection.addListSelectionListener(satt); - selection.setCellRenderer(new DefaultListCellRenderer(){ - - @Override - public Component getListCellRendererComponent(JList list, - Object value, int index, boolean isSelected, - boolean cellHasFocus) { - String valeur=EbliResource.EBLI.getString("Trait"); - if(value==AnchorShape.TRIANGLE_FILLED) - valeur=EbliResource.EBLI.getString("Plein"); - else - if(value==AnchorShape.TRIANGLE_HOLLOW) - valeur=EbliResource.EBLI.getString("Contour"); - else - if(value==AnchorShape.TRIANGLE_OUT) - valeur=EbliResource.EBLI.getString("Invers\xE9"); - - return super.getListCellRendererComponent(list, valeur, index, isSelected, - cellHasFocus); - } - - }); - + selection.setCellRenderer(new CellArrowRenderer()); return selection; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/GrapheTreeCellRenderer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/GrapheTreeCellRenderer.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/GrapheTreeCellRenderer.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -16,7 +16,7 @@ /** * Tree cell Renderer classique pour afficher les icones mignature a cot\xE9 des objets * - * @author genesis + * @author Adrien Hadoux */ @SuppressWarnings("serial") public class GrapheTreeCellRenderer extends JLabel implements TreeCellRenderer { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -256,7 +256,7 @@ //-- ajotu des thumbnails si activ\xE9--// if(useThumbs) - conteneurPdf_.add(thumbscrollContainer,BorderLayout.WEST); + conteneurPdf_.add(new JScrollPane(thumbscrollContainer),BorderLayout.WEST); @@ -497,8 +497,8 @@ //-- on verifie qu'il s'agit bien d'un fichier pdf --// if(entry.getName().contains(".pdf")){ - mapEntryPdfJar_.put(entry.getName(), entry); - DefaultMutableTreeTableNode node = new DefaultMutableTreeTableNode(entry.getName()); + mapEntryPdfJar_.put(entry.getName().replace(".pdf",""), entry); + DefaultMutableTreeTableNode node = new DefaultMutableTreeTableNode(entry.getName().replace(".pdf","")); //-- on ajoute le node qui contient le File --// root.add(node); } @@ -516,8 +516,8 @@ //-- recuperation du no du fichier --// String nomFichierPdf=entry.getName().replace(nomRepertoire+"/","").replace("+"," "); - mapEntryPdfJar_.put(nomFichierPdf, entry); - DefaultMutableTreeTableNode node = new DefaultMutableTreeTableNode(nomFichierPdf); + mapEntryPdfJar_.put(nomFichierPdf.replace(".pdf",""), entry); + DefaultMutableTreeTableNode node = new DefaultMutableTreeTableNode(nomFichierPdf.replace(".pdf","")); nodeRepertoire.add(node); } } 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 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -507,12 +507,10 @@ */ public void displayHelpPDF(String url){ if(frameHelpPDF_==null){ - frameHelpPDF_=new FudaaHelpPDFViewer(url,this,true); + frameHelpPDF_=new FudaaHelpPDFViewer(url,this,false); } //-- ajout de la fenetre --//: - // this.addInternalFrame(frameHelpPDF_); - //TODO a modifier, juste pour le debugger et test - this.addInternalFrame(new FudaaHelpPDFViewer(url,this,false)); + this.addInternalFrame(frameHelpPDF_); } protected void rebuildEditionMenu(final BuMenu _dest) { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActAbstract.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActAbstract.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActAbstract.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -63,6 +63,22 @@ return filterAct.process(_prog, _analyze); } + /** + * transforme la efgrid en volumique. + * @param _prog + * @param _data + * @param _analyze + * @return + */ + protected EfGridData filterToElements(final ProgressionInterface _prog, final EfGridData _data, + final CtuluAnalyze _analyze) { + final MvExportToElementDataActivity filterAct = new MvExportToElementDataActivity(_data, vects_); + setCurrentActivity(filterAct); + + return filterAct.process(_prog, _analyze); + } + + protected void addInfo(final String[] _messages, final int _nbNoeud, final int _nbEle) { addInfo(_messages, _nbNoeud); _messages[2] = MvResource.getS("Nombre d'\xE9l\xE9ments export\xE9s:"); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActSerafin.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActSerafin.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportActSerafin.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -17,9 +17,11 @@ import org.fudaa.dodico.ef.EfElementType; import org.fudaa.dodico.ef.EfGridData; import org.fudaa.dodico.telemac.io.SerafinFileFormat; +import org.fudaa.dodico.telemac.io.SerafinVolumeFileFormat; import org.fudaa.dodico.telemac.io.SerafinWriter; import org.fudaa.fudaa.commun.impl.FudaaPanelTaskModel; import org.fudaa.fudaa.meshviewer.MvSelectionNodeOrEltData; +import org.fudaa.fudaa.tr.post.TrPostSourceFromReader; import com.memoire.fu.FuLog; @@ -30,8 +32,13 @@ public class MvExportActSerafin extends MvExportActGrid { public static FudaaPanelTaskModel createSerafinTaskModel(final MvExportFactory _fact, final File _initFile, - final MvSelectionNodeOrEltData _selection) { - final FileFormat fmt = SerafinFileFormat.getInstance(); + final MvSelectionNodeOrEltData _selection,boolean isVolumique) { + final FileFormat fmt ; + //-- on met l'extension qui correspond le mieux au format demand\xE9 --// + if(!isVolumique) + fmt=SerafinFileFormat.getInstance(); + else + fmt=SerafinVolumeFileFormat.getInstance(); final MvExportActSerafin ser = new MvExportActSerafin(_fact.initIpobo_, _fact.iparams_); final MvExportTaskSkeleton skeleton = new MvExportTaskSkeleton(_fact.getDatas(), _fact.vects_, ser); MvExportFactory.addSingleFileChooser(skeleton, fmt, _initFile); @@ -81,6 +88,7 @@ public EfGridData toDestType(final ProgressionInterface _prog, final EfGridData _data, final CtuluAnalyze _analyze) { final EfElementType type = _data.getGrid().getEltType(); MvExportAdaptI act = null; + // le cas simple if (type == EfElementType.T3 || type == EfElementType.T3_FOR_3D) { return _data; } // le cas connu @@ -102,6 +110,13 @@ if (FuLog.isTrace()) { FuLog.trace("TRE: transform element data to node data"); } + //-- Cas volumique: on transforme le tout en volumique --// + if(_data instanceof TrPostSourceFromReader){ + TrPostSourceFromReader reader=(TrPostSourceFromReader) _data; + if(reader.isVolumique()) + return filterToElements(_prog, _data, _analyze); + } + return filterToNodes(_prog, _data, _analyze); } return _data; Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportFactory.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportFactory.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportFactory.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -32,6 +32,7 @@ import org.fudaa.dodico.reflux.io.CorEleBthFileFormat; import org.fudaa.dodico.rubar.io.RubarMAIFileFormat; import org.fudaa.dodico.telemac.io.SerafinFileFormat; +import org.fudaa.dodico.telemac.io.SerafinVolumeFileFormat; import org.fudaa.dodico.trigrid.TrigridFileFormat; import org.fudaa.fudaa.commun.courbe.FudaaCourbeTimeListModel; import org.fudaa.fudaa.commun.impl.FudaaGuiLib; @@ -86,6 +87,11 @@ BuFileFilter serafin_; + /** + * R\xE9serv\xE9 aux volumes finis + */ + BuFileFilter serafinVolume_; + BuFileFilter x3d_; protected final EfGridData datas_; @@ -179,8 +185,9 @@ public FudaaPanelTaskModel createExporter(final File _initFile, final BuFileFilter _filter, final MvSelectionNodeOrEltData _selection) { - if (_filter == serafin_) { - return MvExportActSerafin.createSerafinTaskModel(this, _initFile, _selection); + if (_filter == serafin_ || _filter==serafinVolume_) { + //-- on retourne un export serafin normal ou volumique selon que l'extension est volume fini --// + return MvExportActSerafin.createSerafinTaskModel(this, _initFile, _selection,(_filter==serafinVolume_)); } else if (_filter == x3d_) { return MvExportX3D.createX3dTaskModel(this, _initFile, _selection); } else if (_filter == rubarMai_) { return MvExportRubarTaskSkeleton.createRubarMaiTaskModel(this, false, @@ -202,6 +209,7 @@ FuLog.trace("no gis format to export"); } serafin_ = SerafinFileFormat.getInstance().createFileFilter(); + serafinVolume_= SerafinVolumeFileFormat.getInstance().createFileFilter(); x3d_ = new BuFileFilter("x3d"); rubarMai_ = RubarMAIFileFormat.getInstance().createFileFilter(); gridFormat_ = new HashMap(); @@ -213,6 +221,7 @@ } final List filtersList = new ArrayList(gisFormat_.size() + gridFormat_.size() + 3); filtersList.add(serafin_); + filtersList.add(serafinVolume_); filtersList.add(rubarMai_); filtersList.add(x3d_); filtersList.addAll(gisFormat_.keySet()); Added: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportToElementDataActivity.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportToElementDataActivity.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/export/MvExportToElementDataActivity.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -0,0 +1,43 @@ +package org.fudaa.fudaa.meshviewer.export; + +import org.fudaa.ctulu.CtuluActivity; +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.ProgressionInterface; +import org.fudaa.ctulu.interpolation.InterpolationVectorContainer; +import org.fudaa.dodico.ef.EfGridData; +import org.fudaa.dodico.ef.EfNeighborMesh; + + +/** + * Exportation en transformant en \xE9l\xE9ments. + * @author Adrien Hadoux + * + */ +public class MvExportToElementDataActivity implements CtuluActivity { + + final EfGridData src_; + final InterpolationVectorContainer vects_; + + /** + * @param _src + */ + public MvExportToElementDataActivity(final EfGridData _src, final InterpolationVectorContainer _vects) { + super(); + src_ = _src; + vects_ = _vects; + } + + boolean stop_; + + public void stop() { + stop_ = true; + } + + public EfGridData process(final ProgressionInterface _prog, final CtuluAnalyze _analyze) { + + final MvExportDecoratorNodeData res = new MvExportDecoratorNodeData(src_, vects_); + if (stop_) { return null; } + return res; + + } + } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbe.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbe.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -10,6 +10,7 @@ import org.fudaa.ctulu.CtuluVariable; import org.fudaa.ebli.courbe.EGCourbeChild; import org.fudaa.ebli.courbe.EGModel; +import org.fudaa.ebli.courbe.EGModelDecorator; /** * @author fred deniger @@ -39,7 +40,11 @@ @Override public void setModel(final EGModel _model) { - if (!(_model instanceof MVProfileCourbeModel)) { throw new IllegalAccessError(); } + if (!(_model instanceof MVProfileCourbeModel) ){ + + if(!(_model instanceof EGModelDecorator) ) + { throw new IllegalAccessError(); } + } super.setModel(_model); } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrFileFormatManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrFileFormatManager.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrFileFormatManager.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -127,6 +127,8 @@ r.add(RubarMAIFileFormat.getInstance()); r.add(RubarDATFileFormat.getInstance()); r.add(SerafinFileFormat.getInstance()); + r.add(SerafinVolumeFileFormat.getInstance()); + r.add(INPFileFormat.getInstance()); r.add(DunesMAIFileFormat.getInstance()); return getArray(r); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -1125,6 +1125,8 @@ } + //-- recuperation de la reference vers le meme projet --// + duplic.projet_=this.projet_; return duplic; } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -1615,7 +1615,7 @@ } public void setProjectSaved() { - modifyState_.clearModified(); + //modifyState_.clearModified(); } public boolean isOpened(final File _f) { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceComparatorBuilder.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceComparatorBuilder.java 2009-02-25 10:12:28 UTC (rev 4497) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceComparatorBuilder.java 2009-02-25 19:03:51 UTC (rev 4498) @@ -132,6 +132,7 @@ return FDicoLib.getS("Comparaison"); } + protected static void activeComparaison(final TrPostSource _src, final TrPostSource _toProject, final String _quickDiff, final TrPostProjet projet) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-03-05 16:02:26
|
Revision: 4510 http://fudaa.svn.sourceforge.net/fudaa/?rev=4510&view=rev Author: hadouxad Date: 2009-03-05 16:02:15 +0000 (Thu, 05 Mar 2009) Log Message: ----------- corrections lot 3 Post stabilit?\195?\169s de l'appli Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectionsResultsBuilder.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileBuilder.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbeGroup.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileTreeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardCourbeTemporelle.java Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectionsResultsBuilder.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectionsResultsBuilder.java 2009-03-05 15:55:13 UTC (rev 4509) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectionsResultsBuilder.java 2009-03-05 16:02:15 UTC (rev 4510) @@ -28,10 +28,12 @@ final TIntObjectHashMap pool_ = new TIntObjectHashMap(20); - private final LineString initLine_; + private LineString initLine_; - public EfLineIntersectionsResultsBuilder(final LineString initLine,final EfLineIntersectionsResultsI _res, + + +public EfLineIntersectionsResultsBuilder(final LineString initLine,final EfLineIntersectionsResultsI _res, final EfLineIntersectionsCorrectionTester _tester) { super(); res_ = _res; @@ -74,4 +76,9 @@ public LineString getInitLine() { return initLine_; } + +public void setInitLine(LineString line) { + initLine_=line; } + +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java 2009-03-05 15:55:13 UTC (rev 4509) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java 2009-03-05 16:02:15 UTC (rev 4510) @@ -52,10 +52,12 @@ // comp_ = l; // } - private EGParent.TreeNodes getEgParent() { + public EGParent.TreeNodes getEgParent() { return n_; } - + public void setEgParent(EGParent.TreeNodes n) { + n_=n; + } void fillWithInfo(final BPaletteInfo.InfoData _table, final CtuluListSelectionInterface _selectedPt) { _table.setTitle(EbliLib.getS("Groupe:") + CtuluLibString.ESPACE + getTitle()); _table.put(EbliLib.getS("Nombre de courbes"), CtuluLibString.getString(getChildCount())); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileBuilder.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileBuilder.java 2009-03-05 15:55:13 UTC (rev 4509) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileBuilder.java 2009-03-05 16:02:15 UTC (rev 4510) @@ -212,8 +212,13 @@ } // on doit construire les courbes for (int t = 0; t < nbTIme; t++) { - final MVProfileCourbeModel model = new MVProfileCourbeModel(var, data_.getData(), time[t], getResBuilder(var, - _prog), _prog); + + EfLineIntersectionsResultsBuilder builder= getResBuilder(var, _prog); + if(selectedLine_!=null) + builder.setInitLine(selectedLine_); + else + builder.setInitLine(initLine_); + final MVProfileCourbeModel model = new MVProfileCourbeModel(var, data_.getData(), time[t],builder , _prog); EGCourbeChild child; if (isTime) { String title = var.toString() + CtuluLibString.ESPACE; Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbeGroup.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbeGroup.java 2009-03-05 15:55:13 UTC (rev 4509) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbeGroup.java 2009-03-05 16:02:15 UTC (rev 4510) @@ -7,7 +7,11 @@ */ package org.fudaa.fudaa.meshviewer.profile; +import java.util.Iterator; + import org.fudaa.ctulu.CtuluVariable; +import org.fudaa.ebli.courbe.EGCourbeChild; +import org.fudaa.ebli.courbe.EGGrapheDuplicator; import org.fudaa.ebli.courbe.EGGroup; /** @@ -33,4 +37,29 @@ return var_; } +@Override +public EGGroup duplicate(EGGrapheDuplicator _duplicator) { + + + // -- duplication de l objet --// + EGGroup duplic = new MvProfileCourbeGroup(var_); + duplic.setVisible(this.isVisible_); + duplic.setTitle(this.getTitle()); + duplic.setEgParent(this.getEgParent()); + duplic.setAxeY(this.getAxeY().duplicate()); + for (Iterator it = this.getChildren().iterator(); it.hasNext();) { + Object item = it.next(); + if (item instanceof EGCourbeChild) { + duplic.addEGComponent((EGCourbeChild)((EGCourbeChild) item).duplicate(duplic,_duplicator)); + } + + } + + return duplic; + + } + + + +} Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileTreeModel.java 2009-03-05 15:55:13 UTC (rev 4509) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileTreeModel.java 2009-03-05 16:02:15 UTC (rev 4510) @@ -215,13 +215,17 @@ MvProfileTarget target = new TrPostProfileAction.ProfileAdapter(_src, impl.getCurrentProject()); MvProfileBuilder builder = new MvProfileBuilderFromLine(target, impl, polyligne, vue2d, new MvProfileCoteTester()); // -- intersectionResultI --// - EfLineIntersectionsResultsI res = builder.getDefaultRes(_model.variable_, impl.getMainProgression()); + EfLineIntersectionsResultsI res = builder.getDefaultRes(newVariable, impl.getMainProgression()); // -- EfLineIntersectionsResultsBuilder --// - EfLineIntersectionsResultsBuilder efbuilder = new EfLineIntersectionsResultsBuilder(polyligne, _model.res_, + EfLineIntersectionsResultsBuilder efbuilder = new EfLineIntersectionsResultsBuilder(polyligne,res, new MvProfileCoteTester()); MVProfileCourbeModel newModele = new MVProfileCourbeModel(newVariable, _src, newTimeStep, efbuilder, impl .getMainProgression()); + //-- on recalcule les y --// + newModele.res_=res; + newModele.computeY(impl.getMainProgression()); + // -- titre --// String title = newVariable.toString() + CtuluLibString.ESPACE; if (newVariable.getCommonUnit() != null) title += "(" + newVariable.getCommonUnit() + ")" + CtuluLibString.ESPACE; @@ -907,6 +911,13 @@ for (int i = 0; i < root.components_.size(); i++) { // -- ajout du groupe duplique --// + +// if(root.getGroup(i) instanceof MvProfileCourbeGroup){ +// //-- creation du groupe au sens Mv avec hashmappage...--// +// MvProfileCourbeGroup newGroup= duplic.getGroup((MvProfileCourbeGroup)root.getGroup(i), true); +// Eggroot.getGroup(i).duplicate(_duplicator) +// +// }else duplic.add(root.getGroup(i).duplicate(_duplicator)); } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeModel.java 2009-03-05 15:55:13 UTC (rev 4509) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeModel.java 2009-03-05 16:02:15 UTC (rev 4510) @@ -122,6 +122,11 @@ // TODO Auto-generated method stub return ptIdx_; } + + public String getSelectionPointName() { + // TODO Auto-generated method stub + return "("+ptIdx_.x_+";"+ptIdx_.y_+")"; + } @Override public void setSelectionPoint(Object point) { @@ -243,6 +248,11 @@ // TODO Auto-generated method stub return new Integer(ptIdx_); } + + public String getSelectionPointName() { + // TODO Auto-generated method stub + return ""+ptIdx_; + } @Override public void setSelectionPoint(Object point) { @@ -429,6 +439,7 @@ public abstract String getInfosPoint(); public abstract Object getSelectionPoint(); + public abstract String getSelectionPointName(); public abstract void setSelectionPoint(Object point); /** * Methode appelee pour rejouer les donnees d'une courbe en cas de rechargement avec d'autres donnees. Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java 2009-03-05 15:55:13 UTC (rev 4509) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java 2009-03-05 16:02:15 UTC (rev 4510) @@ -193,8 +193,8 @@ } if(modeEdition){ //-- ajout de l'action sonde --// - final ZCalqueSondeInteraction sonde = vue2d.getController().addCalqueSondeInteraction(); - toolbarCalque.add(new CalqueActionSonde(sonde, vue2d.getArbreCalqueModel())); +// final ZCalqueSondeInteraction sonde = vue2d.getController().addCalqueSondeInteraction(); +// toolbarCalque.add(new CalqueActionSonde(sonde, vue2d.getArbreCalqueModel())); //--ajout de l'action rechercher--// EbliActionAbstract action=new EbliActionSimple("Rechercher",EbliResource.EBLI.getIcon("rechercher"),"RECH"){ @@ -706,7 +706,7 @@ //-- on rejoue les donn\xE9es avec les nouvelles valeurs --// if(this.ecraser_.isSelected()) - implementation.message("La courbe actuelle de mod\xE8le: variable:"+modele.getVar()+", point N\xB0 "+modele.getSelectionPoint()+" va \xEAtre recalcul\xE9e pour les donn\xE9es suivantes:\n" + implementation.message("La courbe actuelle de mod\xE8le: variable:"+modele.getVar()+", point N\xB0 "+modele.getSelectionPointName()+" va \xEAtre recalcul\xE9e pour les donn\xE9es suivantes:\n" +"Variable: "+newVariable.getName()+", point N\xB0 "+newPointReel); @@ -760,6 +760,7 @@ GISZoneCollectionPoint collectionPoint=new GISZoneCollectionPoint(); LineString listePoints=modele.getBuilder().getInitLine(); //-- ajout des coordonnees --// + if(listePoints!=null){ Object[][] dataP=new Object[listePoints.getNumPoints()][2]; for(int i=0;i<listePoints.getNumPoints();i++){ collectionPoint.add(listePoints.getCoordinateN(i).x,listePoints.getCoordinateN(i).y,0); @@ -767,7 +768,7 @@ dataP[i][1]=listePoints.getCoordinateN(i).y; } - + } //ZModelePointEditable modelePointEdit=new ZModelePointEditable(collectionPoint); @@ -853,7 +854,7 @@ */ public boolean replayProfilSpatialFor( TrPostSource srcChoisie,TrPostVisuPanel vue2d,MvProfileTreeModel tree,MVProfileCourbeModel modele,TrPostCommonImplementation implementation){ H2dVariableType newVariable=vue2d.getSelectedVarInCalqueActif();; - int newTimeStep_=-1; + int newTimeStep_=vue2d.getSelectedTimeInCalqueActif(); if (vue2d.isSelectionOkForEvolution()) { int[] newPoints=null; @@ -897,11 +898,14 @@ //-- on recupere la ligne avec la ligne formee des sondes --// List<GrPoint> listePoints=vue2d.getLigneBriseeFormSonde(); if(listePoints!=null && listePoints.size()>1){ + LineString lineInit=modele.getBuilder().getInitLine(); + String title=""; + if(lineInit!=null) + title=" [P1("+format(lineInit.getCoordinateN(0).x,2)+";"+format(lineInit.getCoordinateN(0).y,2)+")"+";"+ + "P"+lineInit.getNumPoints()+"("+format(lineInit.getCoordinateN(lineInit.getNumPoints()-1).x,2)+";"+format(lineInit.getCoordinateN(lineInit.getNumPoints()-1).y,2)+")]"; - String title=" [P1("+format(modele.getBuilder().getInitLine().getCoordinateN(0).x,2)+";"+format(modele.getBuilder().getInitLine().getCoordinateN(0).y,2)+")"+";"+ - "P"+modele.getBuilder().getInitLine().getNumPoints()+"("+format(modele.getBuilder().getInitLine().getCoordinateN(modele.getBuilder().getInitLine().getNumPoints()-1).x,2)+";"+format(modele.getBuilder().getInitLine().getCoordinateN(modele.getBuilder().getInitLine().getNumPoints()-1).y,2)+")]"; String title2=" [P1("+format(listePoints.get(0).x_,2)+";"+format(listePoints.get(0).y_,2)+")"+";"+ - "P"+modele.getBuilder().getInitLine().getNumPoints()+"("+format(listePoints.get(listePoints.size()-1).x_,2)+";"+format(listePoints.get(listePoints.size()-1).y_,2)+")]"; + "P"+listePoints.size()+"("+format(listePoints.get(listePoints.size()-1).x_,2)+";"+format(listePoints.get(listePoints.size()-1).y_,2)+")]"; //-- on rejoue les donn\xE9es avec les nouvelles valeurs --// if(this.ecraser_.isSelected()){ implementation.message("La courbe actuelle de mod\xE8le: variable:"+modele.getVariable()+", de pas de temps "+srcChoisie.getTimeStep(modele.getActiveTimeIdx())+" et de polyligne d'extr\xE9mit\xE9s "+title+"\n" + Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardCourbeTemporelle.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardCourbeTemporelle.java 2009-03-05 15:55:13 UTC (rev 4509) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostWizardCourbeTemporelle.java 2009-03-05 16:02:15 UTC (rev 4510) @@ -919,7 +919,10 @@ } // -- on ajoute le point interpol\xE9 --// - if (create) listePoints_.add(interpol); + if (create){ + listePoints_.add(interpol); + model.fireTableDataChanged(); + } else { listePoints_.set(indexToModify, interpol); model.fireTableRowsUpdated(indexToModify, indexToModify); @@ -927,10 +930,16 @@ } else { // -- on ajoute le point reel --// - if (create) listePoints_.add(indice); + if (create){ + listePoints_.add(indice); + model.fireTableDataChanged(); + } else { listePoints_.set(indexToModify, indice); model.fireTableRowsUpdated(indexToModify, indexToModify); +// if(panelSelectionPoints!=null) +// panelSelectionPoints.revalidate(); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-03-08 15:16:46
|
Revision: 4517 http://fudaa.svn.sourceforge.net/fudaa/?rev=4517&view=rev Author: deniger Date: 2009-03-08 15:16:35 +0000 (Sun, 08 Mar 2009) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoDataType.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntite.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntiteGenerate.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoKeyword.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/h2d/telemac/H2dTelemacSourceMng.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/animation/EbliAnimation.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigWizardImportHelper.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrLauncherDefault.java branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/mv/TestProfile.java branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/tr/Test3D.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoArtemisv5p9.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoEstel2dv5p9.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoEstel3dv5p9.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoPostel3dv5p9.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoSisyphev5p9.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoSpartacus2dv5p9.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoStbtelv5p9.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoTelemac2dv5p9.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoTelemac3dv5p9.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoTomawacv5p9.java Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoDataType.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoDataType.java 2009-03-06 18:45:46 UTC (rev 4516) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoDataType.java 2009-03-08 15:16:35 UTC (rev 4517) @@ -10,12 +10,11 @@ import java.util.Collection; import java.util.Iterator; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.CtuluLibArray; -import org.fudaa.ctulu.CtuluLibMessage; import org.fudaa.ctulu.CtuluLibString; +import com.memoire.fu.FuLog; + /** * @author deniger * @version $Id: DicoDataType.java,v 1.24 2007-06-28 09:25:08 deniger Exp $ @@ -87,13 +86,10 @@ } public String getInvalideMessage(final String _data) { - if (_data == null) { - return DicoResource.getS("Valeur nulle"); - } + if (_data == null) { return DicoResource.getS("Valeur nulle"); } final String t = _data.toUpperCase(); - if (((CtuluLibArray.findObject(TRUE_VALUES, t) < 0) && (CtuluLibArray.findObject(FALSE_VALUES, t) < 0))) { - return DicoResource.getS("Valeur non reconnue"); - } + if (((CtuluLibArray.findObject(TRUE_VALUES, t) < 0) && (CtuluLibArray.findObject(FALSE_VALUES, t) < 0))) { return DicoResource + .getS("Valeur non reconnue"); } return null; } @@ -110,9 +106,7 @@ } public boolean isValide(final String _data) { - if (_data == null) { - return false; - } + if (_data == null) { return false; } final String t = _data.toUpperCase(); return ((CtuluLibArray.findObject(TRUE_VALUES, t) >= 0) || (CtuluLibArray.findObject(FALSE_VALUES, t) >= 0)) ? true : false; @@ -142,9 +136,7 @@ } public String getDefaultValue() { - if (isChoiceEnable()) { - return super.getDefaultValue(); - } + if (isChoiceEnable()) { return super.getDefaultValue(); } return CtuluLibString.EMPTY_STRING; } @@ -188,12 +180,8 @@ } public final boolean isValide(final String _data) { - if (_data.length() == 0) { - return true; - } - if (isChoiceEnable()) { - return isValideIntern(_data); - } + if (_data.length() == 0) { return true; } + if (isChoiceEnable()) { return isValideIntern(_data); } return true; } @@ -237,16 +225,12 @@ } protected final String getInvalideMessageIntern(final String _data) { - if (!isValide(_data)) { - return DicoResource.getS("La valeur ne correspond pas \xE0 un choix impos\xE9"); - } + if (!isValide(_data)) { return DicoResource.getS("La valeur ne correspond pas \xE0 un choix impos\xE9"); } return null; } protected boolean isValideIntern(final String _data) { - if (isEditable_) { - return true; - } + if (isEditable_) { return true; } return (CtuluLibArray.findObject(choiceKeys_, _data) < 0) ? false : true; } @@ -281,9 +265,7 @@ * @return les valeurs */ public final String[] getChoiceValues() { - if (choiceValues_ == null) { - return null; - } + if (choiceValues_ == null) { return null; } final String[] r = new String[choiceValues_.length]; System.arraycopy(choiceValues_, 0, r, 0, r.length); return r; @@ -305,9 +287,7 @@ * @return la valeur correspondante dans les choix geres par ce type */ public String getValue(final String _keys) { - if (!isChoiceEnable()) { - return null; - } + if (!isChoiceEnable()) { return null; } final int tempi = CtuluLibArray.findObject(choiceKeys_, _keys); return tempi < 0 ? null : choiceValues_[tempi]; } @@ -353,14 +333,11 @@ * @param _values le tableau des valeurs correspondantes */ public void setChoice(final String[] _keys, final String[] _values) { - if (_keys == null) { - throw new IllegalArgumentException("keywords null"); - } + if (_keys == null) { throw new IllegalArgumentException("keywords null"); } choiceKeys_ = _keys; choiceValues_ = _values; - if ((choiceValues_ != null) && (choiceKeys_.length != choiceValues_.length)) { - throw new IllegalArgumentException("Arrays have different size"); - } + if ((choiceValues_ != null) && (choiceKeys_.length != choiceValues_.length)) { throw new IllegalArgumentException( + "Arrays have different size"); } } } @@ -386,9 +363,7 @@ * @return la valeur correspondante dans les choix geres par ce type */ public final String getValue(final String _keys) { - if (!isChoiceEnable()) { - return null; - } + if (!isChoiceEnable()) { return null; } int tempi = CtuluLibArray.findObject(choiceKeys_, _keys); if (_keys != null && tempi < 0 && _keys.length() > 1 && _keys.endsWith(CtuluLibString.DOT)) { tempi = CtuluLibArray.findObject(choiceKeys_, _keys.substring(0, _keys.length() - 1)); @@ -398,18 +373,15 @@ protected final boolean isValideIntern(final String _data) { final boolean r = super.isValideIntern(_data); - if (!r && _data != null && _data.endsWith(CtuluLibString.DOT)) { - return isValideIntern(_data.substring(0, _data.length() - 1)); - } + if (!r && _data != null && _data.endsWith(CtuluLibString.DOT)) { return isValideIntern(_data.substring(0, _data + .length() - 1)); } return r; } public String getControleDescription() { if (controle_) { - if (minOnly_) { - return DicoResource.getS("Valeur sup\xE9rieure \xE0 {0}", CtuluLibString.getString(min_)); - } + if (minOnly_) { return DicoResource.getS("Valeur sup\xE9rieure \xE0 {0}", CtuluLibString.getString(min_)); } return DicoResource.getS("Valeur comprise dans l'intervalle [{0},{1}]", CtuluLibString.getString(min_), CtuluLibString.getString(max_)); } @@ -431,9 +403,7 @@ } public String getDefaultValue() { - if (isChoiceEnable()) { - return super.getDefaultValue(); - } + if (isChoiceEnable()) { return super.getDefaultValue(); } return CtuluLibString.ZERO; } @@ -446,9 +416,7 @@ } public final String getInvalideMessage(final String _data) { - if (isChoiceEnable()) { - return getInvalideMessageIntern(_data); - } + if (isChoiceEnable()) { return getInvalideMessageIntern(_data); } int t; try { t = Integer.parseInt(_data); @@ -458,10 +426,9 @@ if (controle_) { if ((minOnly_) && (t < min_)) { return DicoResource.getS("La valeur doit \xEAtre sup\xE9rieure \xE0 {0}", CtuluLibString.getString(min_)); - } else if ((t < min_) || (t > max_)) { - return DicoResource.getS("La valeur doit appartenir \xE0 l'intervalle [ {0},{1}]", CtuluLibString - .getString(min_), CtuluLibString.getString(max_)); - } + } else if ((t < min_) || (t > max_)) { return DicoResource.getS( + "La valeur doit appartenir \xE0 l'intervalle [ {0},{1}]", CtuluLibString.getString(min_), CtuluLibString + .getString(max_)); } } return null; } @@ -514,9 +481,7 @@ } public boolean isValide(final String _data) { - if (isChoiceEnable()) { - return isValideIntern(_data); - } + if (isChoiceEnable()) { return isValideIntern(_data); } int t; try { t = Integer.parseInt(_data); @@ -526,9 +491,7 @@ if (controle_) { if ((minOnly_) && (t < min_)) { return false; - } else if ((t < min_) || (t > max_)) { - return false; - } + } else if ((t < min_) || (t > max_)) { return false; } } return true; } @@ -641,9 +604,7 @@ * @return la version immutable pour le type entier */ public static ImmutableEntier getImmutableEntier(final Entier _s) { - if (_s.isChoiceEnable() || _s.isControle()) { - return new ImmutableEntier(_s); - } + if (_s.isChoiceEnable() || _s.isControle()) { return new ImmutableEntier(_s); } return EMPTY; } @@ -687,9 +648,7 @@ * @return la version immutable (EMPTY si pas de controle) */ public static ImmutableReel getImmutableReel(final Reel _s) { - if (_s.isControle()) { - return new ImmutableReel(_s); - } + if (_s.isControle()) { return new ImmutableReel(_s); } return EMPTY; } @@ -730,9 +689,7 @@ public String getControleDescription() { if (controle_) { - if (minOnly_) { - return DicoResource.getS("Valeur sup\xE9rieure \xE0 {0}", Double.toString(min_)); - } + if (minOnly_) { return DicoResource.getS("Valeur sup\xE9rieure \xE0 {0}", Double.toString(min_)); } return DicoResource.getS("Valeur comprise dans l'intervalle [{0},{1}]", Double.toString(min_), Double .toString(max_)); } @@ -754,9 +711,7 @@ } public String getDefaultValue() { - if (isChoiceEnable()) { - return super.getDefaultValue(); - } + if (isChoiceEnable()) { return super.getDefaultValue(); } return CtuluLibString.ZERO; } @@ -858,16 +813,14 @@ } public final boolean isValide(final String _data) { - if (isChoiceEnable()) { - return isValideIntern(_data); - } + if (isChoiceEnable()) { return isValideIntern(_data); } double t = 0D; String data = _data; - if (CtuluLibMessage.DEBUG) { - if (data.indexOf('d') > 0) { - data = _data.replace('d', 'E'); - } + // if (CtuluLibMessage.DEBUG) { + if (data.indexOf('d') > 0) { + data = _data.replace('d', 'E'); } + // } if (data.indexOf('D') > 0) { data = _data.replace('D', 'E'); } @@ -879,9 +832,7 @@ if (controle_) { if ((minOnly_) && (t < min_)) { return false; - } else if ((t < min_) || (t > max_)) { - return false; - } + } else if ((t < min_) || (t > max_)) { return false; } } return true; } @@ -925,13 +876,9 @@ * @return true si toutes les valeurs sont valides. */ public final static boolean areAllValid(final DicoDataType _dt, final Collection _s) { - if (_s == null) { - return false; - } + if (_s == null) { return false; } for (final Iterator iter = _s.iterator(); iter.hasNext();) { - if (!_dt.isValide((String) iter.next())) { - return false; - } + if (!_dt.isValide((String) iter.next())) { return false; } } return true; } @@ -942,14 +889,10 @@ * @return true si toutes les valeurs sont valides */ public final static boolean areAllValid(final DicoDataType _dt, final String[] _s) { - if (_s == null) { - return false; - } + if (_s == null) { return false; } final int n = _s.length - 1; for (int i = n; i >= 0; i--) { - if (!_dt.isValide(_s[i])) { - return false; - } + if (!_dt.isValide(_s[i])) { return false; } } return true; } Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntite.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntite.java 2009-03-06 18:45:46 UTC (rev 4516) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntite.java 2009-03-08 15:16:35 UTC (rev 4517) @@ -658,6 +658,7 @@ public Vecteur(final String _nom, final DicoDataType _t, final String _sepChar) { super(_nom, _t); sepChar_ = _sepChar; + if(sepChar_==null) sepChar_=getSep(); nbElem_ = -1; } Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntiteGenerate.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntiteGenerate.java 2009-03-06 18:45:46 UTC (rev 4516) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoEntiteGenerate.java 2009-03-08 15:16:35 UTC (rev 4517) @@ -86,9 +86,7 @@ * @param _t le type des donnees */ public DicoEntiteGenerate(final DicoDataTypeGenerate _t) { - if (_t == null) { - throw new IllegalArgumentException("Le type must be not null"); - } + if (_t == null) { throw new IllegalArgumentException("Le type must be not null"); } type_ = _t; } @@ -191,9 +189,7 @@ final String _varArrayByLanguage) throws IOException { writeByLanguage(_out, noms_, _varArrayByLanguage); final String var = printNew(_out, _type, _varNbLanguageName, _varArrayByLanguage); - if (var == null) { - return null; - } + if (var == null) { return null; } _out.writeln(var + ".setNiveau(" + niveau_ + getParFerm(), true); // aide if (aides_ != null) { @@ -250,17 +246,13 @@ protected abstract DicoEntite getEntite(int _l, boolean _initialyzeAll); protected String isDefautValuesValides() { - if (defautValues_ == null) { - return null; - } + if (defautValues_ == null) { return null; } final int l = defautValues_.length; DicoEntite ent; for (int i = 0; i < l; i++) { ent = getEntite(i, false); final String s = ent.getInvalideMessage(defautValues_[i]); - if (s != null) { - return getGuill() + defautValues_[i] + getGuill() + get2Pt() + DodicoLib.getS("non valide"); - } + if (s != null) { return getGuill() + defautValues_[i] + getGuill() + get2Pt() + DodicoLib.getS("non valide"); } } return null; } @@ -331,9 +323,7 @@ public String getFrenchRubriqueInComportFormat() { if (rubriques_ != null) { final String[] rInL = rubriques_[0]; - if (rInL == null) { - return null; - } + if (rInL == null) { return null; } final StringBuffer b = new StringBuffer(50); final char rSep = DicoKeyword.getComportRubriqueSep(); final int l = rInL.length; @@ -371,9 +361,7 @@ if (listByLangage[0].size() == 0) { // c'est peut-etre un mot-cle final int id = _name.lastIndexOf('*'); - if ((id > 0) && (id < _name.length())) { - return getEntiteGenerationWithFrenchName(_name.substring(id + 1), _ent); - } + if ((id > 0) && (id < _name.length())) { return getEntiteGenerationWithFrenchName(_name.substring(id + 1), _ent); } return null; } final String[][] r = new String[l][]; @@ -417,9 +405,7 @@ public void computeActionAffichage(final DicoKeyword _kw, final DicoEntiteGenerate[] _entites, final List _m, final CtuluAnalyze _analyze) { - if ((_m == null) || (_m.size() <= 0)) { - return; - } + if ((_m == null) || (_m.size() <= 0)) { return; } comportData_ = new ComportData[_m.size()]; int index = 0; for (final Iterator it = _m.iterator(); it.hasNext();) { @@ -429,7 +415,6 @@ int idxFin = stemp.indexOf(')'); String rubrOuEntite = null; - if ((idxDeb > 0) && (idxFin > idxDeb)) { String substring = stemp.substring(idxDeb + 1, idxFin); rubrOuEntite = DicoKeyword.computeValue(substring); @@ -582,12 +567,11 @@ public Vecteur(final DicoDataTypeGenerate _t, final String _sepChar) { super(_t); sepChar_ = _sepChar; + if (sepChar_ == null) sepChar_ = DicoEntite.getSep(); } public void computeDefaultValues(final String[] _array) { - if (_array == null) { - return; - } + if (_array == null) { return; } final int n = _array.length - 1; for (int i = n; i >= 0; i--) { final String string = _array[i]; @@ -660,9 +644,7 @@ } public void computeDefaultValues(final String[] _array) { - if (_array == null) { - return; - } + if (_array == null) { return; } final int n = _array.length - 1; for (int i = n; i >= 0; i--) { final String string = _array[i]; @@ -731,22 +713,17 @@ static class IndexComparator implements Comparator { public int compare(final Object _o1, final Object _o2) { - if ((!(_o1 instanceof DicoEntite)) || (!(_o2 instanceof DicoEntite))) { - throw new IllegalArgumentException("Comparator can process telemac keyword only"); - } + if ((!(_o1 instanceof DicoEntite)) || (!(_o2 instanceof DicoEntite))) { throw new IllegalArgumentException( + "Comparator can process telemac keyword only"); } final DicoEntite t1 = (DicoEntite) _o1; final DicoEntite t2 = (DicoEntite) _o2; // si les types de donnees sont du meme type - if (!t1.type_.getClass().isInstance(t2.type_)) { - throw new IllegalArgumentException("Only keywords with same type (logical,real,..) are comparable"); - } - if (t1.equalsEntite(t2)) { - return 0; - } + if (!t1.type_.getClass().isInstance(t2.type_)) { throw new IllegalArgumentException( + "Only keywords with same type (logical,real,..) are comparable"); } + if (t1.equalsEntite(t2)) { return 0; } final int r = t1.getIndex() - t2.getIndex(); - if (r == 0) { - throw new IllegalArgumentException(t1.getNom() + " and " + t2.getNom() + " have identic index" + t1.getIndex()); - } + if (r == 0) { throw new IllegalArgumentException(t1.getNom() + " and " + t2.getNom() + " have identic index" + + t1.getIndex()); } return r; } } Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoKeyword.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoKeyword.java 2009-03-06 18:45:46 UTC (rev 4516) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/dico/DicoKeyword.java 2009-03-08 15:16:35 UTC (rev 4517) @@ -236,7 +236,7 @@ r = new DicoDataTypeGenerate.Reel(); } else if ("REAL".equals(_type)) { r = new DicoDataTypeGenerate.Reel(); - } else if (getTypeLogique().equals(_type)) { + } else if (getTypeLogique().equals(_type)|| "LOGICAL".equals(_type)) { r = new DicoDataTypeGenerate.Binaire(); } return r; Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/h2d/telemac/H2dTelemacSourceMng.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/h2d/telemac/H2dTelemacSourceMng.java 2009-03-06 18:45:46 UTC (rev 4516) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/h2d/telemac/H2dTelemacSourceMng.java 2009-03-08 15:16:35 UTC (rev 4517) @@ -264,17 +264,13 @@ return getSource(_idx).getVx(); } else if (_ent == vyEnt_) { return getSource(_idx).getVy(); - } else if (_ent == traceurEnt_) { - return getSource(_idx).getT(); - } + } else if (_ent == traceurEnt_) { return getSource(_idx).getT(); } new Throwable().printStackTrace(); return 0; } private double getValueFromArray(final String[] _tab, final int _i) { - if (_tab == null || _i >= _tab.length) { - return 0; - } + if (_tab == null || _i >= _tab.length) { return 0; } return Double.parseDouble(_tab[_i]); } @@ -312,6 +308,10 @@ } traceurEnt_ = (DicoEntite.Vecteur) model.getEntiteFor(new String[] { "VALEURS DU TRACEUR AUX SOURCES", "VALUES OF THE TRACER AT THE SOURCES" }); + if (traceurEnt_ == null) { + traceurEnt_ = (DicoEntite.Vecteur) model.getEntiteFor(new String[] { "VALEURS DES TRACEURS DES SOURCES", + "VALUES OF THE TRACERS AT THE SOURCES" }); + } vxEnt_ = (DicoEntite.Vecteur) model.getEntiteFor(new String[] { "VITESSES DES SOURCES SELON X", "VELOCITIES OF THE SOURCES ALONG X" }); if (vxEnt_ == null) { @@ -377,9 +377,7 @@ return _s.setVx(_d); } else if (_ent == vyEnt_) { return _s.setVy(_d); - } else if (_ent == traceurEnt_) { - return _s.setT(_d); - } + } else if (_ent == traceurEnt_) { return _s.setT(_d); } new Throwable().printStackTrace(); return false; } @@ -398,9 +396,7 @@ } protected void majFromDico(final DicoEntite.Vecteur _v) { - if (sources_ == null) { - return; - } + if (sources_ == null) { return; } final String[] vals = getValueFromDico(_v, sources_.getSize(), null); if (vals == null || vals.length != sources_.getSize()) { dico_.setValue(_v, computeValueForDico(_v)); @@ -441,15 +437,9 @@ * @param _cmd le receveur de commande */ public void addSource(final String[] _vals, final CtuluCommandContainer _cmd) { - if ((_vals == null) || (_vals.length != vectEnt_.size())) { - return; - } - if ((_vals[0] == null) || (_vals[0].trim().length() == 0)) { - return; - } - if ((_vals[1] == null) || (_vals[1].trim().length() == 0)) { - return; - } + if ((_vals == null) || (_vals.length != vectEnt_.size())) { return; } + if ((_vals[0] == null) || (_vals[0].trim().length() == 0)) { return; } + if ((_vals[1] == null) || (_vals[1].trim().length() == 0)) { return; } final H2dTelemacSource sip = new H2dTelemacSource(); for (int i = 0; i < _vals.length; i++) { final DicoEntite.Vecteur v = (DicoEntite.Vecteur) vectEnt_.get(i); @@ -536,14 +526,10 @@ * @return la valeur commune ou null si non commune */ public String getCommonValues(final int[] _selectedSiphon, final DicoEntite.Vecteur _ent) { - if (_selectedSiphon == null || _selectedSiphon.length == 0) { - return null; - } + if (_selectedSiphon == null || _selectedSiphon.length == 0) { return null; } final String init = getDisplayValue(_selectedSiphon[0], _ent); for (int i = _selectedSiphon.length - 1; i > 0; i--) { - if (!init.equals(getDisplayValue(_selectedSiphon[i], _ent))) { - return null; - } + if (!init.equals(getDisplayValue(_selectedSiphon[i], _ent))) { return null; } } return init; } @@ -584,9 +570,7 @@ */ public double[] getCommonSiphonEndsValues(final int[] _idxSiphon, final int[] _idxExtremiteSelec) { if ((_idxSiphon == null) || (_idxSiphon.length == 0) || (_idxExtremiteSelec == null) - || (_idxExtremiteSelec.length != _idxSiphon.length)) { - return null; - } + || (_idxExtremiteSelec.length != _idxSiphon.length)) { return null; } final int[] var1 = getSiphonSource1IndexVar(); final int[] var2 = getSiphonSource2IndexVar(); final double[] r = new double[var1.length]; @@ -640,9 +624,7 @@ } public String getDefaultValue(final DicoEntite _ent) { - if (defaultValues_ != null && defaultValues_.containsKey(_ent)) { - return (String) defaultValues_.get(_ent); - } + if (defaultValues_ != null && defaultValues_.containsKey(_ent)) { return (String) defaultValues_.get(_ent); } return _ent.getType().getDefaultValue(); } @@ -758,9 +740,7 @@ * @return tableau de la meme taille que idxValues contenant les valeurs communes. */ public Double[] getSiphonCommonValuesFor(final int[] _idxSiphon, final int[] _idxValues) { - if (_idxValues == null) { - return null; - } + if (_idxValues == null || getNbSiphon() == 0) { return null; } final Double[] r = new Double[_idxValues.length]; if ((_idxSiphon != null) && (_idxSiphon.length > 0)) { H2dtelemacSiphon sip = getSiphon(_idxSiphon[0]); @@ -824,8 +804,8 @@ } /* *//** - * @return true si le mot-cle definissant le debit est cree - */ + * @return true si le mot-cle definissant le debit est cree + */ /* * public boolean isDebitDefined(){ return dico_.isValueSetFor(qEnt_); } */ @@ -919,9 +899,7 @@ * @param _analyse le receveur des erreurs. */ public void loadSiphons(final H2dTelemacSiphonContainer _c, final CtuluAnalyze _analyse) { - if (_c == null || _c.getNbSiphon() == 0) { - return; - } + if (_c == null || _c.getNbSiphon() == 0) { return; } // que faire si des siphons ont d\xE9ja ete importes if (siphons_ != null) { new Throwable().printStackTrace(); @@ -1118,9 +1096,7 @@ * @return true si enleve */ public boolean removeListener(final H2dtelemacSiponListener _l) { - if (listener_ != null) { - return listener_.remove(_l); - } + if (listener_ != null) { return listener_.remove(_l); } return false; } @@ -1130,9 +1106,7 @@ */ public int[] getSiphonUsingSource(final int[] _idxSource) { // pas de siphons ou parametres incorrect on renvoie tableau vide - if (siphons_ == null || (_idxSource == null) || (_idxSource.length == 0)) { - return new int[0]; - } + if (siphons_ == null || (_idxSource == null) || (_idxSource.length == 0)) { return new int[0]; } final TIntArrayList r = new TIntArrayList(); for (int i = siphons_.getSize() - 1; i >= 0; i--) { if (getSiphon(i).useOneSource(_idxSource)) { @@ -1148,9 +1122,7 @@ */ public TIntIntHashMap getSiphonUsingSourceAndEnds(final int[] _idxSource) { // pas de siphons ou parametres incorrect on renvoie tableau vide - if (siphons_ == null || (_idxSource == null) || (_idxSource.length == 0)) { - return new TIntIntHashMap(); - } + if (siphons_ == null || (_idxSource == null) || (_idxSource.length == 0)) { return new TIntIntHashMap(); } final TIntIntHashMap r = new TIntIntHashMap(); for (int i = siphons_.getSize() - 1; i >= 0; i--) { final int result = getSiphon(i).useOneSourceAndWhichEnd(_idxSource); @@ -1167,13 +1139,9 @@ */ public boolean isSiphonUsingSource(final int[] _idxSource) { // pas de siphons ou parametres incorrect on renvoie tableau vide - if (siphons_ == null || (_idxSource == null) || (_idxSource.length == 0)) { - return false; - } + if (siphons_ == null || (_idxSource == null) || (_idxSource.length == 0)) { return false; } for (int i = siphons_.getSize() - 1; i >= 0; i--) { - if (getSiphon(i).useOneSource(_idxSource)) { - return true; - } + if (getSiphon(i).useOneSource(_idxSource)) { return true; } } return false; } @@ -1184,13 +1152,9 @@ */ public boolean isSiphonUsingSource(final int _idxSource) { // pas de siphons ou parametres incorrect on renvoie tableau vide - if (siphons_ == null || (_idxSource < 0)) { - return false; - } + if (siphons_ == null || (_idxSource < 0)) { return false; } for (int i = siphons_.getSize() - 1; i >= 0; i--) { - if (getSiphon(i).useSource(_idxSource)) { - return true; - } + if (getSiphon(i).useSource(_idxSource)) { return true; } } return false; } @@ -1201,13 +1165,9 @@ */ public int getSiphonUsingSource(final int _idxSource) { // pas de siphons ou parametres incorrect on renvoie tableau vide - if (siphons_ == null || (_idxSource < 0)) { - return -1; - } + if (siphons_ == null || (_idxSource < 0)) { return -1; } for (int i = siphons_.getSize() - 1; i >= 0; i--) { - if (getSiphon(i).useSource(_idxSource)) { - return i; - } + if (getSiphon(i).useSource(_idxSource)) { return i; } } return -1; } @@ -1217,9 +1177,7 @@ * @return les indices des sources utilisees par les siphons */ public int[] getSrcUsedByCulvert(final int[] _idxCulvert) { - if (siphons_ == null || (_idxCulvert == null) || (_idxCulvert.length == 0)) { - return new int[0]; - } + if (siphons_ == null || (_idxCulvert == null) || (_idxCulvert.length == 0)) { return new int[0]; } // normalement une arraylist suffit pour savoir quels sources sont utilisees // au cas telemac autorise plusieurs siphons sur une source final TIntHashSet r = new TIntHashSet(); Added: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoArtemisv5p9.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoArtemisv5p9.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/telemac/dico/DicoArtemisv5p9.java 2009-03-08 15:16:35 UTC (rev 4517) @@ -0,0 +1,2703 @@ +/* + *File generated by fudaa + */ + +package + org.fudaa.dodico.telemac.dico; + +import org.fudaa.dodico.dico.*; +/** + * @author deniger + */ + +public class + DicoArtemisv5p9 + extends DicoModelAbstract +{ + public + DicoArtemisv5p9 + () + { + super(); + } + public + DicoArtemisv5p9 +(int _l) + { + super(_l); + } + public + DicoArtemisv5p9 +(String _l) + { + super(_l); + } + public final String getCodeName() + { + return "artemis"; + } + public final String getVersion() + { + return "v5p9"; + } + protected String[] createNoms() + { + String[] noms; + if(languageIndex_==0) + { + noms=new String[]{"ACCELERATION DE LA PESANTEUR","ALPHA","ANGLE MAXIMUM DE PROPAGATION","ANGLE MINIMUM DE PROPAGATION","BALAYAGE EN PERIODE","BIBLIOTHEQUES","BINAIRE DU FICHIER DE GEOMETRIE","BINAIRE DU FICHIER DES RESULTATS","CHAINE BIDON","COEFFICIENT DE FROTTEMENT", + "COEFFICIENT DE RELAXATION","COEFFICIENT DE RIDES","CONDITIONS INITIALES","COORDONNEES DE L'ORIGINE","COTE INITIALE","DATE DE L'ORIGINE DES TEMPS","DEFERLEMENT","DESCRIPTION DES LIBRAIRIES","DIAMETRE50","DIAMETRE90", + "DICTIONNAIRE","DIRECTION DE PROPAGATION DE LA HOULE","DISCRETISATION EN ESPACE","EXECUTABLE PAR DEFAUT","EXECUTABLE PARALLELE PAR DEFAUT","EXPOSANT S","FACTEUR DE FROTTEMENT","FACTEUR DE FROTTEMENT IMPOSE","FICHIER DE DONNEES BINAIRE 1","FICHIER DE DONNEES BINAIRE 2", + "FICHIER DE DONNEES FORMATE 1","FICHIER DE DONNEES FORMATE 2","FICHIER DE GEOMETRIE","FICHIER DE REFERENCE","FICHIER DES CONDITIONS AUX LIMITES","FICHIER DES FONDS","FICHIER DES PARAMETRES","FICHIER DES RESULTATS","FICHIER DES RESULTATS BINAIRE","FICHIER DES RESULTATS FORMATE", + "FICHIER FORTRAN","FORMULATION DU DEFERLEMENT","FORMULATION DU FROTTEMENT DE FOND","FROTTEMENT","GAMMA","GAMMAS","GDALLY","HAUTEUR INITIALE","HEURE DE L'ORIGINE DES TEMPS","HOULE ALEATOIRE MONODIRECTIONNELLE", + "HOULE ALEATOIRE MULTIDIRECTIONNELLE","INFORMATIONS SUR LE SOLVEUR","KDALLY","LISSAGE DES HAUTEURS DE HOULE","LISSAGES DU FOND","LISTE DES FICHIERS","LOI DE FROTTEMENT SUR LE FOND","LONGUEUR DU VECTEUR","MASSE VOLUMIQUE DU FLUIDE","MASSE VOLUMIQUE DU SEDIMENT", + "MAXIMUM D'ITERATIONS POUR LE SOLVEUR","MAXIMUM DE SOUS-ITERATIONS","MOT DE PASSE CRAY","NOMBRE DE DIRECTIONS DE DISCRETISATION","NOMBRE DE PERIODES DE DISCRETISATION","NOMBRE DE VARIABLES PRIVEES","NUMERO DE COMPTE","NUMERO DE VERSION","OPTION DU SOLVEUR","PAS POUR LE BALAYAGE EN PERIODE", + "PERIODE DE DEBUT POUR LE BALAYAGE EN PERIODE","PERIODE DE FIN POUR LE BALAYAGE EN PERIODE","PERIODE DE LA HOULE","PERIODE DE PIC","PERIODE DE SORTIE GRAPHIQUE","PERIODE DE SORTIE LISTING","PERIODE MAXIMUM DU SPECTRE","PERIODE MINIMUM DU SPECTRE","PLACE MEMOIRE CRAY","PRECISION DU SOLVEUR", + "PRECISION SUR LES SOUS-ITERATIONS","PRECONDITIONNEMENT","PRIORITE","PROCESSEURS PARALLELES","PRODUIT MATRICE-VECTEUR","REGIME HYDRAULIQUE IMPOSE","RELAXATION SUR LA DISSIPATION","RUGOSITE DE PEAU SEULE","SOLVEUR","SORTIE LISTING", + "STANDARD DU FICHIER DE GEOMETRIE","STANDARD DU FICHIER DES RESULTATS","STOCKAGE DES MATRICES","TEMPS MACHINE CRAY","TITRE","TYPE DU REGIME HYDRAULIQUE","USER CRAY","VALEUR MINIMUM DE H","VALIDATION","VARIABLES A IMPRIMER", + "VARIABLES POUR LES SORTIES GRAPHIQUES","VISCOSITE CINEMATIQUE DU FLUIDE","ZERO"}; + } + else if(languageIndex_==1) + { + noms=new String[]{"ACCOUNT NUMBER","ALPHA","BEGINNING PERIOD FOR PERIOD SCANNING","BIDON STRING","BINARY DATA FILE 1","BINARY DATA FILE 2","BINARY RESULTS FILE","BOTTOM FRICTION LAW","BOTTOM TOPOGRAPHY FILE","BOTTOM TOPOGRAPHY SMOOTHING", + "BOUNDARY CONDITIONS FILE","BREAKING","BREAKING LAW","CPU TIME","DEFAULT EXECUTABLE","DEFAULT PARALLEL EXECUTABLE","DESCRIPTION DES LIBRARIES","DIAMETER50","DIAMETER90","DICTIONARY", + "DIRECTION OF WAVE PROPAGATION","DISCRETIZATION IN SPACE","DISSIPATION RELAXATION","ENDING PERIOD FOR PERIOD SCANNING","FLUID KINEMATIC VISCOSITY","FLUID SPECIFIC MASS","FORMATTED DATA FILE 1","FORMATTED DATA FILE 2","FORMATTED RESULTS FILE","FORTRAN FILE", + "FRICTION","FRICTION COEFFICIENT","FRICTION FACTOR","FRICTION FACTOR IMPOSED","GAMMA","GAMMAS","GDALLY","GEOMETRY FILE","GEOMETRY FILE BINARY","GEOMETRY FILE STANDARD", + "GRAPHIC PRINTOUT PERIOD","GRAVITY ACCELERATION","HYDRAULIC REGIME IMPOSED","HYDRAULIC REGIME TYPE","INFORMATIONS ABOUT SOLVER","INITIAL CONDITIONS","INITIAL DEPTH","INITIAL WATER LEVEL","KDALLY","LAW OF BOTTOM FRICTION", + "LIBRARIES","LIST OF FILES","LISTING PRINTOUT","LISTING PRINTOUT PERIOD","MATRIX STORAGE","MATRIX-VECTOR PRODUCT","MAXIMUM ANGLE OF PROPAGATION","MAXIMUM NUMBER OF ITERATIONS FOR SOLVER","MAXIMUM OF SUB-ITERATIONS","MAXIMUM SPECTRAL PERIOD", + "MEMORY SPACE","MINIMUM ANGLE OF PROPAGATION","MINIMUM SPECTRAL PERIOD","MINIMUM VALUE FOR H","MONODIRECTIONAL RANDOM WAVE","MULTIDIRECTIONAL RANDOM WAVE","NUMBER OF DIRECTIONS","NUMBER OF PERIODS","NUMBER OF PRIVATE VARIABLES","ORIGIN COORDINATES", + "ORIGINAL DATE OF TIME","ORIGINAL HOUR OF TIME","PARALLEL PROCESSORS","PASSWORD","PEAK PERIOD","PERIOD SCANNING","PRECONDITIONING","PRIORITY","REFERENCE FILE","RELAXATION COEFFICIENT", + "RELEASE","RESULTS FILE","RESULTS FILE BINARY","RESULTS FILE STANDARD","RIPPLES COEFFICIENT","S EXPONENT","SEDIMENT SPECIFIC WEIGHT","SKIN ROUGHNESS ONLY","SOLVER","SOLVER ACCURACY", + "SOLVER OPTION","STEERING FILE","STEP FOR PERIOD SCANNING","SUB-ITERATIONS ACCURACY","TITLE","USER CRAY","VALIDATION","VARIABLES FOR GRAPHIC PRINTOUTS","VARIABLES TO BE PRINTED","VECTOR LENGTH", + "WAVE HEIGHTS SMOOTHING","WAVE PERIOD","ZERO"}; + } + else noms=null; + return noms; + } + protected final DicoEntite[] createEntites() + { + DicoComportValues[] comportValues; + DicoEntite.Simple entiteSimple; + DicoEntite.Tableau entiteTableau; + DicoEntite.Vecteur entiteVecteur; + DicoDataType.Entier typeEntier; + DicoDataType.Binaire typeBinaire; + DicoDataType.Chaine typeChaine; + DicoDataType.Reel typeReel; + String[] choiceKeys; + String[][] choiceValues; + String[] valueByLanguage=new String[2]; + DicoEntite[] entites=new DicoEntite[103]; + + //start FICHIER DE GEOMETRIE + typeChaine=new DicoDataType.Chaine(); + typeChaine.setFileType(true); + choiceKeys=null; + choiceValues=new String[][] {{"geo"} + ,{"geo"} }; + typeChaine.setChoice(choiceValues[languageIndex_],choiceKeys); + typeChaine.setEditable(true); + + valueByLanguage[0]="FICHIER DE GEOMETRIE"; + valueByLanguage[1]="GEOMETRY FILE"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeChaine); + entiteSimple.setNiveau(1); + valueByLanguage[0]="Nom du fichier contenant le maillage du calcul a realiser."; + valueByLanguage[1]="Name of the file which contains the computational mesh."; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="ENTREES-SORTIES,FICHIERS"; + valueByLanguage[1]="INPUT-OUTPUT,FILES"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + entites[0]=entiteSimple.getImmutable(); + + + //start BINAIRE DU FICHIER DES RESULTATS + typeChaine=new DicoDataType.Chaine(); + choiceKeys=null; + choiceValues=new String[][] {{"IBM","I3E","STD"} + ,{"IBM","I3E","STD"} }; + typeChaine.setChoice(choiceValues[languageIndex_],choiceKeys); + typeChaine.setEditable(true); + + valueByLanguage[0]="BINAIRE DU FICHIER DES RESULTATS"; + valueByLanguage[1]="RESULTS FILE BINARY"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeChaine); + entiteSimple.setNiveau(2); + valueByLanguage[0]="Type du binaire utilise pour l'ecriture du fichier des resultats." + +"\nCe type depend de la machine sur laquelle le fichier a ete genere." + +"\nLes valeurs possibles sont les memes que pour le fichier de geometrie."; + valueByLanguage[1]="Binary type used to write on the results file. This type depends on " + +"\nthe machine used to create this file. Allowed values are the same" + +"\nas used for the geometry file."; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="ENTREES-SORTIES,FICHIERS"; + valueByLanguage[1]="INPUT-OUTPUT,FILES"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="STD"; + valueByLanguage[1]="STD"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[1]=entiteSimple.getImmutable(); + + + //start TITRE + typeChaine=new DicoDataType.Chaine(); + + valueByLanguage[0]="TITRE"; + valueByLanguage[1]="TITLE"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeChaine); + entiteSimple.setNiveau(1); + valueByLanguage[0]="Titre du cas etudie."; + valueByLanguage[1]="Title of the studied case."; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="ENTREES-SORTIES,GENERALITES"; + valueByLanguage[1]="INPUT-OUTPUT,INFORMATION"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="PAS DE TITRE DANS LE FICHIER CAS"; + valueByLanguage[1]="NO TITLE IN THE STEERING FILE"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[2]=entiteSimple.getImmutable(); + + + //start LONGUEUR DU VECTEUR + typeEntier=new DicoDataType.Entier(); + + valueByLanguage[0]="LONGUEUR DU VECTEUR"; + valueByLanguage[1]="VECTOR LENGTH"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="LONGUEUR DU VECTEUR POUR LES MACHINES VECTORIELLES"; + valueByLanguage[1]="VECTOR LENGTH ON VECTOR MACHINES"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="ENTREES-SORTIES,GENERALITES"; + valueByLanguage[1]="INPUT-OUTPUT,INFORMATION"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="128"; + valueByLanguage[1]="128"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[3]=entiteSimple.getImmutable(); + + + //start LOI DE FROTTEMENT SUR LE FOND + typeEntier=new DicoDataType.Entier(); + + valueByLanguage[0]="LOI DE FROTTEMENT SUR LE FOND"; + valueByLanguage[1]="LAW OF BOTTOM FRICTION"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="Non utilise dans ARTEMIS. On le laisse par coherence avec TELEMAC2D"; + valueByLanguage[1]="Not used in ARTEMIS. It is kept for consistence with TELEMAC2D"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="DISSIPATION"; + valueByLanguage[1]="DISSIPATION"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="0"; + valueByLanguage[1]="0"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[4]=entiteSimple.getImmutable(); + + + //start STOCKAGE DES MATRICES + typeEntier=new DicoDataType.Entier(); + + valueByLanguage[0]="STOCKAGE DES MATRICES"; + valueByLanguage[1]="MATRIX STORAGE"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="1 : EBE classique 2 : EBE assemble 3 : par segment" + +"\n attention, avec 2, il faut une numerotation speciale des points"; + valueByLanguage[1]="1 : classical EBE 2 : assembled EBE 3 : edge by edge" + +"\n beware, with option 2, a special numbering of points is required"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="PARAMETRES NUMERIQUES"; + valueByLanguage[1]="NUMERICAL PARAMETERS"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="3"; + valueByLanguage[1]="3"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[5]=entiteSimple.getImmutable(); + + + //start PRODUIT MATRICE-VECTEUR + typeEntier=new DicoDataType.Entier(); + + valueByLanguage[0]="PRODUIT MATRICE-VECTEUR"; + valueByLanguage[1]="MATRIX-VECTOR PRODUCT"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="1 : Ancien Produit 2 : Nouveau Produit Frontal"; + valueByLanguage[1]="1 : Classical Product 2 : New Frontal Product"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="PARAMETRES NUMERIQUES"; + valueByLanguage[1]="NUMERICAL PARAMETERS"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="1"; + valueByLanguage[1]="1"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[6]=entiteSimple.getImmutable(); + + + //start USER CRAY + typeChaine=new DicoDataType.Chaine(); + + valueByLanguage[0]="USER CRAY"; + valueByLanguage[1]="USER CRAY"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeChaine); + entiteSimple.setNiveau(1); + valueByLanguage[0]="Userid CRAY de l'utilisateur."; + valueByLanguage[1]="Userid CRAY of the user."; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="ENTREES-SORTIES,GENERALITES"; + valueByLanguage[1]="INPUT-OUTPUT,INFORMATION"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + entites[7]=entiteSimple.getImmutable(); + + + //start PERIODE DE SORTIE GRAPHIQUE + typeEntier=new DicoDataType.Entier(); + + valueByLanguage[0]="PERIODE DE SORTIE GRAPHIQUE"; + valueByLanguage[1]="GRAPHIC PRINTOUT PERIOD"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(1); + valueByLanguage[0]="Determine la periode, en nombre de periodes de houle," + +"\nd'impression des VARIABLES POUR LES SORTIES GRAPHIQUES (voir ce mot-" + +"\ncle) dans le FICHIER DES RESULTATS"; + valueByLanguage[1]="Fixes the period, in number of wave periods, for the writing" + +"\nof the VARIABLES FOR GRAPHIC PRINTOUTS (see this key-word) in the" + +"\nRESULTS FILE"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="ENTREES-SORTIES,GRAPHIQUES ET LISTING"; + valueByLanguage[1]="INPUT-OUTPUT,GRAPHICS AND LISTING"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="1"; + valueByLanguage[1]="1"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[8]=entiteSimple.getImmutable(); + + + //start PERIODE DE SORTIE LISTING + typeEntier=new DicoDataType.Entier(); + + valueByLanguage[0]="PERIODE DE SORTIE LISTING"; + valueByLanguage[1]="LISTING PRINTOUT PERIOD"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(1); + valueByLanguage[0]="Determine la periode, en nombre de periodes de houle," + +"\nd'impression des VARIABLES A IMPRIMER (voir ce mot-cle). Pour la mise" + +"\nau point, il faut savoir que la sortie des resultats est effectuee" + +"\nsystematiquement sur le fichier de retour d'execution du code" + +"\n(actuellement accessible par le menu 3.e de SPF sur IBM)"; + valueByLanguage[1]="Fixes the period, in number of wave periods, for the writing" + +"\nof the VARIABLES TO BE PRINTED (see this key-word)"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="ENTREES-SORTIES,GRAPHIQUES ET LISTING"; + valueByLanguage[1]="INPUT-OUTPUT,GRAPHICS AND LISTING"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="1"; + valueByLanguage[1]="1"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[9]=entiteSimple.getImmutable(); + + + //start MAXIMUM D'ITERATIONS POUR LE SOLVEUR + typeEntier=new DicoDataType.Entier(); + + valueByLanguage[0]="MAXIMUM D'ITERATIONS POUR LE SOLVEUR"; + valueByLanguage[1]="MAXIMUM NUMBER OF ITERATIONS FOR SOLVER"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="Les algorithmes utilises pour la resolution du systeme" + +"\nmatriciel etant iteratifs, il est necessaire de limiter le nombre" + +"\nd'iterations autorisees"; + valueByLanguage[1]="Algorithms used for solving the matrix system are iterative." + +"\nIt is then necessary to limit the maximum number of iterations"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="PARAMETRES NUMERIQUES,SOLVEUR"; + valueByLanguage[1]="NUMERICAL PARAMETERS,SOLVER"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="60000"; + valueByLanguage[1]="60000"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[10]=entiteSimple.getImmutable(); + + + //start NOMBRE DE PERIODES DE DISCRETISATION + typeEntier=new DicoDataType.Entier(); + + valueByLanguage[0]="NOMBRE DE PERIODES DE DISCRETISATION"; + valueByLanguage[1]="NUMBER OF PERIODS"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(1); + valueByLanguage[0]="Valeur utilisee avec l'option :" + +"\n HOULE ALEATOIRE MONODIRECTIONNELLE = OUI" + +"\n ou avec l'option" + +"\n HOULE ALEATOIRE MULTIDIRECTIONNELLE = OUI" + +"\nPour un calcul en houle aleatoire monodirectionnelle ou" + +"\nmultidirectionnelle, nombre de bandes d'egale energie servant a" + +"\ndiscretiser le spectre d'energie en frequence."; + valueByLanguage[1]="Used with otion :" + +"\n MONODIRECTIONAL RANDOM WAVE = YES" + +"\n or" + +"\n MULTIDIRECTIONAL RANDOM WAVE = YES" + +"\nIt fixes the number of iso-energy frequency bands which discretize" + +"\nthe enrgy spectrum."; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="PARAMETRES PHYSIQUES"; + valueByLanguage[1]="PHYSICAL PARAMETERS"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="5"; + valueByLanguage[1]="5"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[11]=entiteSimple.getImmutable(); + + + //start LISSAGES DU FOND + typeEntier=new DicoDataType.Entier(); + + valueByLanguage[0]="LISSAGES DU FOND"; + valueByLanguage[1]="BOTTOM TOPOGRAPHY SMOOTHING"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="Nombre de lissages effectues sur la topographie." + +"\nchaque lissage, effectue a l'aide d'une matrice de masse," + +"\nest conservatif." + +"\nUtilise lorsque les donnees de bathymetrie donnent des resultats" + +"\ntrop irreguliers apres interpolation."; + valueByLanguage[1]="Number of smoothings done on the topography." + +"\nEach smoothing, using a mass matrix, is conservative." + +"\nIt is used when bathymetric data provide too irregular results" + +"\nafter interpolation."; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="EQUATIONS,LISSAGE"; + valueByLanguage[1]="EQUATIONS,SMOOTHINGS"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="0"; + valueByLanguage[1]="0"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[12]=entiteSimple.getImmutable(); + + + //start COTE INITIALE + typeReel=new DicoDataType.Reel(); + + valueByLanguage[0]="COTE INITIALE"; + valueByLanguage[1]="INITIAL WATER LEVEL"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeReel); + entiteSimple.setNiveau(1); + valueByLanguage[0]="Valeur utilisee avec l'option CONDITIONS INITIALES : COTE CONSTANTE."; + valueByLanguage[1]="Used with the option INITIAL CONDITIONS : CONSTANT ELEVATION."; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="EQUATIONS CONDITIONS INITIALES"; + valueByLanguage[1]="INITIAL CONDITIONS EQUATIONS"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="0."; + valueByLanguage[1]="0."; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[13]=entiteSimple.getImmutable(); + + + //start PRECONDITIONNEMENT + typeEntier=new DicoDataType.Entier(); + choiceKeys=new String[]{"0","2","3","5","7"}; + choiceValues=new String[][] {{"pas de preconditionnement","preconditionnement diagonal","preconditionnement bloc-diagonal","preconditionnement diagonal en valeur absolue","preconditionnement de Crout par element"} + ,{"no preconditioning","diagonal preconditioning","block-diagonal preconditioning","absolute value diagonal preconditioning","Crout preconditioning"} }; + typeEntier.setChoice(choiceKeys,choiceValues[languageIndex_]); + + valueByLanguage[0]="PRECONDITIONNEMENT"; + valueByLanguage[1]="PRECONDITIONING"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="Permet de preconditionner le systeme de l'etape de propagation afin" + +"\nd'accelerer la convergence lors de sa resolution." + +"\n - 0 : pas de preconditionnement," + +"\n - 2 : preconditionnement diagonal." + +"\n - 3 : preconditionnement bloc-diagonal." + +"\n - 5 : preconditionnement diagonal en valeur absolue." + +"\n - 7 : preconditionnement de Crout par element." + +"\nCertains preconditionnements sont cumulables" + +"\n(les diagonaux 2 ou 3 avec les autres)" + +"\nPour cette raison on ne retient que les nombres premiers pour" + +"\ndesigner les preconditionnements. Si l'on souhaite en cumuler" + +"\nplusieurs on formera le produit des options correspondantes."; + valueByLanguage[1]="Enables to apply preconditionning the matrix system to accelerate" + +"\nthe convergence of the solver." + +"\n - 0 : no preconditionning" + +"\n - 2 : diagonal preconditionning" + +"\n - 3 : block-diagonal preconditionning" + +"\n - 5 : diagonal preconditionning in absolute value" + +"\n - 7 : Element Crout preconditionning." + +"\nFew of them can be combined" + +"\n(numbers 2 or 3 with the other)" + +"\nTo combine some preconditionning, impose the product of the previous" + +"\nnumbers : example 6 means preconditionnig 2 and 3 applied."; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="PARAMETRES NUMERIQUES,SOLVEUR"; + valueByLanguage[1]="NUMERICAL PARAMETERS,SOLVER"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="2"; + valueByLanguage[1]="2"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[14]=entiteSimple.getImmutable(); + + + //start SOLVEUR + typeEntier=new DicoDataType.Entier(); + choiceKeys=new String[]{"1","2","3","4","5","6","7","8"}; + choiceValues=new String[][] {{"gradient conjugue","residu conjugue","gradient conjugue sur equation normale","erreur minimale","gradient conjugue carre (non programme)","CGSTAB","GMRES","direct"} + ,{"conjugate gradient","conjugate residual","conjugate gradient on a normal equation","minimum error","squared conjugate gradient","CGSTAB","GMRES","direct"} }; + typeEntier.setChoice(choiceKeys,choiceValues[languageIndex_]); + + valueByLanguage[0]="SOLVEUR"; + valueByLanguage[1]="SOLVER"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="Permet de choisir le solveur utilise pour la resolution de l'etape de" + +"\npropagation. Toutes les methodes proposees actuellement s'apparentent" + +"\nau Gradient Conjugue. Ce sont :" + +"\n 1 : gradient conjugue" + +"\n 2 : residu conjugue" + +"\n 3 : gradient conjugue sur equation normale" + +"\n 4 : erreur minimale" + +"\n 5 : gradient conjugue carre (non programme)" + +"\n 6 : gradient conjugue de type CGSTAB" + +"\n 7 : GMRES" + +"\n 8 : solveur direct"; + valueByLanguage[1]="Enables to choose the solver used for solving the matrix system." + +"\nThey are :" + +"\n 1 : conjugate gradient" + +"\n 2 : conjugate residual" + +"\n 3 : conjugate gradient on the normal equation" + +"\n 4 : minimum error" + +"\n 5 : squarred conjugate gradient (not programmed)" + +"\n 6 : CGSTAB conjugate gradient" + +"\n 7 : GMRES" + +"\n 8 : direct solver"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="PARAMETRES NUMERIQUES,SOLVEUR"; + valueByLanguage[1]="NUMERICAL PARAMETERS,SOLVER"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="8"; + valueByLanguage[1]="8"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[15]=entiteSimple.getImmutable(); + + + //start OPTION DU SOLVEUR + typeEntier=new DicoDataType.Entier(); + + valueByLanguage[0]="OPTION DU SOLVEUR"; + valueByLanguage[1]="SOLVER OPTION"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="Parametre definissant la dimension de l'espace de Krylov" + +"\npour le solveur 7 (GMRES)"; + valueByLanguage[1]="Defines the dimension of the Krylov space when using" + +"\nthe solver 7 (GMRES)"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="PARAMETRES NUMERIQUES,SOLVEUR"; + valueByLanguage[1]="NUMERICAL PARAMETERS,SOLVER"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="3"; + valueByLanguage[1]="3"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[16]=entiteSimple.getImmutable(); + + + //start STANDARD DU FICHIER DE GEOMETRIE + typeEntier=new DicoDataType.Entier(); + choiceKeys=new String[]{"1","2","3"}; + choiceValues=new String[][] {{"LEONARD","RUBENS","SELAFIN"} + ,{"LEONARD","RUBENS","SELAFIN"} }; + typeEntier.setChoice(choiceKeys,choiceValues[languageIndex_]); + typeEntier.setEditable(true); + + valueByLanguage[0]="STANDARD DU FICHIER DE GEOMETRIE"; + valueByLanguage[1]="GEOMETRY FILE STANDARD"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="Adapte la lecture du FICHIER DE GEOMETRIE au standard choisi pour" + +"\ncelui-ci. Ce peut etre :" + +"\n - 1 : un maillage regulier au standard LEONARD," + +"\n - 2 : un maillage quelconque au standard RUBENS," + +"\n - 3 : un maillage quelconque au standard SELAFIN."; + valueByLanguage[1]="Adapts the reading of the GEOMETRY FILE to the specific standard :" + +"\n - 1 : regular mesh on standard LEONARD" + +"\n - 2 : any mesh on standard RUBENS" + +"\n - 3 : any mesh on standard SELAFIN"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="ENTREES-SORTIES,FICHIERS"; + valueByLanguage[1]="INPUT-OUTPUT,FILES"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="3"; + valueByLanguage[1]="3"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[17]=entiteSimple.getImmutable(); + + + //start STANDARD DU FICHIER DES RESULTATS + typeEntier=new DicoDataType.Entier(); + choiceKeys=new String[]{"1","2","3"}; + choiceValues=new String[][] {{"LEONARD","RUBENS","SELAFIN"} + ,{"LEONARD","RUBENS","SELAFIN"} }; + typeEntier.setChoice(choiceKeys,choiceValues[languageIndex_]); + typeEntier.setEditable(true); + + valueByLanguage[0]="STANDARD DU FICHIER DES RESULTATS"; + valueByLanguage[1]="RESULTS FILE STANDARD"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeEntier); + entiteSimple.setNiveau(2); + valueByLanguage[0]="Standard du fichier des resultats :" + +"\n - 1 : un maillage regulier au standard LEONARD," + +"\n - 2 : un maillage quelconque au standard RUBENS," + +"\n - 3 : un maillage quelconque au standard SELAFIN."; + valueByLanguage[1]="Specific standard of the results file :" + +"\n - 1 : regular mesh on standard LEONARD" + +"\n - 2 : any mesh on standard RUBENS" + +"\n - 3 : any mesh on standard SELAFIN"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="ENTREES-SORTIES,FICHIERS"; + valueByLanguage[1]="INPUT-OUTPUT,FILES"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="3"; + valueByLanguage[1]="3"; + entiteSimple.setDefautValue(valueByLanguage[languageIndex_]); + entites[18]=entiteSimple.getImmutable(); + + + //start PERIODE DE PIC + typeReel=new DicoDataType.Reel(); + + valueByLanguage[0]="PERIODE DE PIC"; + valueByLanguage[1]="PEAK PERIOD"; + entiteSimple=new DicoEntite.Simple(valueByLanguage[languageIndex_],typeReel); + entiteSimple.setNiveau(1); + valueByLanguage[0]="Valeur utilisee avec l'option :" + +"\n HOULE ALEATOIRE MONODIRECTIONNELLE = OUI" + +"\n ou avec l'option" + +"\n HOULE ALEATOIRE MULTIDIRECTIONNELLE = OUI" + +"\nFixe la periode de pic (en sec) du spectre d'energie."; + valueByLanguage[1]="Used with otion :" + +"\n MONODIRECTIONAL RANDOM WAVE = YES" + +"\n or" + +"\n MULTIDIRECTIONAL RANDOM WAVE = YES" + +"\nFixes the peak period (in sec) of the energy spectrum"; + entiteSimple.setAide(valueByLanguage[languageIndex_]); + valueByLanguage[0]="PARAMETRES PHYSIQUES"; + valueByLanguage[1]="PHYSICAL PARAMETERS"; + entiteSimple.setRubrique(valueByLanguage[languageIndex_]); + valueByLanguage[0]="10.0"... [truncated message content] |
From: <had...@us...> - 2009-03-13 16:15:13
|
Revision: 4541 http://fudaa.svn.sourceforge.net/fudaa/?rev=4541&view=rev Author: hadouxad Date: 2009-03-13 16:15:05 +0000 (Fri, 13 Mar 2009) Log Message: ----------- - Corrections Post Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeRepereConfigurator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliLookFeel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/behavior/EbliWidgetActionFactory.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorLegende.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistManager.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilan.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeRepereConfigurator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeRepereConfigurator.java 2009-03-12 20:33:41 UTC (rev 4540) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeRepereConfigurator.java 2009-03-13 16:15:05 UTC (rev 4541) @@ -677,12 +677,12 @@ //-- si on d\xE9passe le min et max on recadre --// double maxValueX=graphe_.getXMax(); - if(maxValueX<maxVal) - maxVal=maxValueX; - +// if(maxValueX<maxVal) +// maxVal=maxValueX; +// double minValueX=graphe_.getXMin(); - if(minValueX>minVal) - minVal=minValueX; +// if(minValueX>minVal) +// minVal=minValueX; //-- si les limites ne sont plus selectionnes il faut de nouveau tout prendre --// if(!boxChooseUserLimitX_.isSelected()){ @@ -843,10 +843,10 @@ double maxR=((CtuluRange)value).max_; double minR=((CtuluRange)value).min_; - if(min<minR) - min=minR; - if(max>maxR) - max=maxR; +// if(min<minR) +// min=minR; +// if(max>maxR) +// max=maxR; } } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliLookFeel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliLookFeel.java 2009-03-12 20:33:41 UTC (rev 4540) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliLookFeel.java 2009-03-13 16:15:05 UTC (rev 4541) @@ -51,7 +51,12 @@ public Border getBorder(final ObjectState _state, final boolean resizable, final boolean prop) { if (resizable) { if (_state.isHovered()) { - if (_state.isSelected()) { return prop ? RESIZE_BORDER_SELECTED_PROP : RESIZE_BORDER_SELECTED; } + if (_state.isSelected()) { +// if(prop) +// return RESIZE_BORDER_SELECTED_PROP; +// else + return RESIZE_BORDER_SELECTED; + } return prop ? RESIZE_BORDER_PROP : RESIZE_BORDER; } if (_state.isSelected()) { return MINI_BORDER_SELECTED; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/behavior/EbliWidgetActionFactory.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/behavior/EbliWidgetActionFactory.java 2009-03-12 20:33:41 UTC (rev 4540) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/behavior/EbliWidgetActionFactory.java 2009-03-13 16:15:05 UTC (rev 4541) @@ -60,9 +60,9 @@ ControlPoint pt = super.resolveControlPoint(_widget, _point); if (_widget instanceof EbliWidget) { if (((EbliWidget) _widget).getController().isProportional()) { - if (pt == ControlPoint.BOTTOM_LEFT || pt == ControlPoint.BOTTOM_RIGHT || pt == ControlPoint.TOP_LEFT - || pt == ControlPoint.TOP_RIGHT) { return null; } - } +// if (pt == ControlPoint.BOTTOM_LEFT || pt == ControlPoint.BOTTOM_RIGHT || pt == ControlPoint.TOP_LEFT +// || pt == ControlPoint.TOP_RIGHT) { return null; } + } } return pt; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorLegende.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorLegende.java 2009-03-12 20:33:41 UTC (rev 4540) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorLegende.java 2009-03-13 16:15:05 UTC (rev 4541) @@ -39,7 +39,7 @@ } public EbliWidget create(final EbliScene _scene) { - res = new EbliWidgetBordureSingle(WidgetLegendeManager.createLegende(g, _scene, null), true, false); + res = new EbliWidgetBordureSingle(WidgetLegendeManager.createLegende(g, _scene, null), true, true); g.getModel().addModelListener(new EbliWidgetGrapheController(res)); return res; } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistManager.java 2009-03-12 20:33:41 UTC (rev 4540) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistManager.java 2009-03-13 16:15:05 UTC (rev 4541) @@ -114,7 +114,8 @@ if (listeReloadSource != null && listeReloadSource.contains(idSource)) { - } else { + } + else { // -- restorer les donn\xE9es --// FudaaSaveZipLoader loader = null; try { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java 2009-03-12 20:33:41 UTC (rev 4540) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrReplayCurvesData.java 2009-03-13 16:15:05 UTC (rev 4541) @@ -395,9 +395,9 @@ //calqueZ.setVisible(true); //calqueZ.setLineModel(0, new TraceLigneModel(1,2,Color.BLACK)); if(isInterpolated) - calqueZ.setIconModel(0, new TraceIconModel(TraceIcon.PLUS,4,Color.blue)); + calqueZ.setIconModel(0, new TraceIconModel(TraceIcon.PLUS,7,Color.black)); else - calqueZ.setIconModel(0, new TraceIconModel(TraceIcon.CARRE_SELECTION,3,Color.blue)); + calqueZ.setIconModel(0, new TraceIconModel(TraceIcon.CARRE_SELECTION,7,Color.black)); calqueZ.setTitle("Origine courbe de "+modele.getTitle()); // vue2d.addCalque(calqueZ, true); FSigLayerGroup group=TrPostWizardProfilSpatial.getGroup(TrPostWizardCourbeTemporelle.idTemporel, vue2d); @@ -407,7 +407,7 @@ calqueZ.setDestructible(true); vue2d.setCalqueActif(memoire); //-- on affiche le contenu dans une dialog--// - CtuluDialogPanel panel=constructDialog(vue2d, implementation, modele,null,false,"<html><body>"+TrResource.getS("Origine ")+" "+modele.getTitle()+". <br /> Le point est encadr\xE9 en bleu </body></html>"); + CtuluDialogPanel panel=constructDialog(vue2d, implementation, modele,null,false,"<html><body>"+TrResource.getS("Origine ")+" "+modele.getTitle()+". <br /> Le point est encadr\xE9 en noir </body></html>"); //-- on positionne la bonne variable et le bon pas de temps --// @@ -564,9 +564,9 @@ FSigLayerPointEditable layer2=new FSigLayerPointEditable(modelePointEdit,vue2d.getGisEditor()); layer2.setVisible(true); if(isInterpolated) - layer2.setIconModel(0, new TraceIconModel(TraceIcon.PLUS,4,Color.RED)); + layer2.setIconModel(0, new TraceIconModel(TraceIcon.PLUS,7,Color.black)); else - layer2.setIconModel(0, new TraceIconModel(TraceIcon.CARRE_SELECTION,5,Color.RED)); + layer2.setIconModel(0, new TraceIconModel(TraceIcon.CARRE_SELECTION,7,Color.black)); layer2.setEnabled(true); @@ -607,7 +607,7 @@ //-- on affiche le contenu dans une dialog--// //final Set var = new HashSet(Arrays.asList(modele.source_.getAllVariablesNonVec())); //final H2dVariableType[] vars = (H2dVariableType[]) var.toArray(new H2dVariableType[var.size()]); - String title=TrResource.getS("<html><body>Choisir le point et la variable qui seront utilis\xE9s pour refaire le calcul(interpolation possible).<br /> Le point rouge d\xE9signe le point d'origine.</body></html>"); + String title=TrResource.getS("<html><body>Choisir le point et la variable qui seront utilis\xE9s pour refaire le calcul(interpolation possible).<br /> Le point noir initial d\xE9signe le point d'origine.</body></html>"); dialog_=constructDialog(vue2d, implementation, modele,/*constructSelectorVariable(vars)*/null,true,title); dialog_.setPreferredSize(new Dimension(800,600)); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilan.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilan.java 2009-03-12 20:33:41 UTC (rev 4540) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostDialogBilan.java 2009-03-13 16:15:05 UTC (rev 4541) @@ -216,6 +216,18 @@ textX2.setEnabled(enabled); textY1.setEnabled(enabled); textY2.setEnabled(enabled); + + //-- remplissage des coordonn\xE9es par les points --// + LineString res=getSelectedLineOfCalque(); + if(res!=null && res.getNumPoints()>0){ + Coordinate coor=res.getCoordinateN(0); + Coordinate coor2=res.getCoordinateN(res.getNumPoints()-1); + textX1.setText(""+coor.x); + textX2.setText(""+coor2.x); + textY1.setText(""+coor.y); + textY2.setText(""+coor2.y); + } + boxSelectLineManu_.setSelected(false); if (boxSelectLineAuto_.isSelected()) ajouter_.setEnabled(true); else ajouter_.setEnabled(false); @@ -246,6 +258,18 @@ textY1.setEnabled(enabled); textY2.setEnabled(enabled); boxSelectLineManu_.setSelected(false); + + //-- remplissage des coordonn\xE9es par les points --// + LineString res=getSelectedLineOfCalque(); + if(res!=null && res.getNumPoints()>0){ + Coordinate coor=res.getCoordinateN(0); + Coordinate coor2=res.getCoordinateN(res.getNumPoints()-1); + textX1.setText(""+coor.x); + textX2.setText(""+coor2.x); + textY1.setText(""+coor.y); + textY2.setText(""+coor2.y); + } + } else { boxSelectLineAuto_.setSelected(false); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-03-19 17:42:06
|
Revision: 4557 http://fudaa.svn.sourceforge.net/fudaa/?rev=4557&view=rev Author: hadouxad Date: 2009-03-19 17:41:51 +0000 (Thu, 19 Mar 2009) Log Message: ----------- - Correction: rejouer les donnees en conservant les constructions g?\195?\169om?\195?\169triques; test blindes et gestion d'erreurs pour les variables non trouv?\195?\169es entre fichier. Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphePersist.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphePersist.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphePersist.java 2009-03-18 19:57:31 UTC (rev 4556) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphePersist.java 2009-03-19 17:41:51 UTC (rev 4557) @@ -299,8 +299,12 @@ graphe=new EGGraphe(model); graphe.transformer_.setXAxe(axeX); //ajustement des courbes en fonction du groupe 0 - for(int t=0;t<nbGroups;t++) - graphe.setZoomAdaptedFor(model.getGroup(t)); + for(int t=0;t<nbGroups;t++){ + EGGroup group=model.getGroup(t); + if(group!=null) + graphe.setZoomAdaptedFor(group); + + } //mise a jour des b\xE9b\xE9s model.fireStructureChanged(); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2009-03-18 19:57:31 UTC (rev 4556) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2009-03-19 17:41:51 UTC (rev 4557) @@ -225,7 +225,10 @@ } public EGGroup getGroup(final int _i) { - return (EGGroup) components_.get(_i); + if(components_.size()>_i) + return (EGGroup) components_.get(_i); + else + return null; } protected void setDispatcher(final EGParent.Tree _dispatcher) { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java 2009-03-18 19:57:31 UTC (rev 4556) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeTreeModel.java 2009-03-19 17:41:51 UTC (rev 4557) @@ -1145,6 +1145,7 @@ EGCourbeChild courbe=groupe.getCourbeAt(k); if(courbe.getModel()!=null && (courbe.getModel() instanceof TrPostCourbeModel)){ TrPostCourbeModel model=(TrPostCourbeModel) courbe.getModel(); + if(model.var_!=null) varGroup_.put(model.var_, groupe); }else if(courbe.getModel()!=null ){ varGroup_.put(H2dVariableType.SANS, groupe); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-03-21 18:29:28
|
Revision: 4558 http://fudaa.svn.sourceforge.net/fudaa/?rev=4558&view=rev Author: deniger Date: 2009-03-21 18:29:25 +0000 (Sat, 21 Mar 2009) Log Message: ----------- optimisation trajectoire Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluUIDefault.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/decorator/EfGridDataCacheSoftReferenceDecorator.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfIndexVisitorHashSet.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectorActivity.java branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfTrajectoireActivity.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoteTester.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/tr_en.fr_txt branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireComputeAndDisplayActivity.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/tr/TestTrajectoire.java branches/Prepro-0.92-SNAPSHOT/fudaa/xyTest.txt Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluUIDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluUIDefault.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluUIDefault.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -9,62 +9,62 @@ import java.awt.Component; - /** + * Un ui par defaut. + * * @author fred deniger * @version $Id: CtuluUIDefault.java,v 1.12 2007-01-17 10:45:25 deniger Exp $ - * */ public class CtuluUIDefault extends CtuluUIAbstract { - - public CtuluUIDefault(){ - } + public CtuluUIDefault() {} + ProgressionInterface mainProgression_; - private void err(final String _title,final String _msg){ + + private void err(final String _title, final String _msg) { System.err.println(_title + ": " + _msg); } - private void out(final String _title,final String _msg){ + + private void out(final String _title, final String _msg) { System.out.println(_title + ": " + _msg); } + public void error(final String _titre, final String _msg, final boolean _tempo) { + err(getErrorTitle(_titre), _msg); - public void error(final String _titre,final String _msg, final boolean _tempo){ - err(getErrorTitle(_titre),_msg); - } - public void message(final String _titre,final String _msg, final boolean _tempo){ - out(getInfoTitle(_titre) ,_msg); + public void message(final String _titre, final String _msg, final boolean _tempo) { + out(getInfoTitle(_titre), _msg); } - - public void clearMainProgression() {} + public ProgressionInterface getMainProgression() { return getMainState(); } - public ProgressionInterface getMainState(){ + + public ProgressionInterface getMainState() { if (mainProgression_ == null) { mainProgression_ = new ProgressionFuAdapter("MAIN"); } return mainProgression_; } - public CtuluTaskDelegate createTask(final String _name){ + public CtuluTaskDelegate createTask(final String _name) { return new CtuluTaskOperationDefault(_name); } - public Component getParentComponent(){ + public Component getParentComponent() { return null; } - public boolean question(final String _titre,final String _text){ - out(getQuestionTitle(_titre) , _text); + public boolean question(final String _titre, final String _text) { + out(getQuestionTitle(_titre), _text); return true; } - public void warn(final String _titre,final String _msg, final boolean _tempo){ + public void warn(final String _titre, final String _msg, final boolean _tempo) { err(getWarnTitle(_titre), _msg); } Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/decorator/EfGridDataCacheSoftReferenceDecorator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/decorator/EfGridDataCacheSoftReferenceDecorator.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/decorator/EfGridDataCacheSoftReferenceDecorator.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -28,7 +28,7 @@ final EfGridData init_; - int maxSize_ = 10; + int maxSize_ = 30; TIntObjectHashMap timeMap_ = new TIntObjectHashMap((int) (maxSize_ / 0.75)); @@ -45,7 +45,7 @@ EfData efData = reference == null ? null : reference.get(); if (FuLog.isDebug()) { - FuLog.debug("EfGridDataCacheDecorator getDataFrom cache for " + _o + " " + _timeIdx + " found " + FuLog.debug("EfGridDataCacheSoftReferenceDecorator getDataFrom cache for " + _o + " " + _timeIdx + " found " + (efData != null)); } @@ -64,6 +64,9 @@ public double getData(CtuluVariable _o, int _timeIdx, int _idxObjet) throws IOException { EfData data = getCachedData(_o, _timeIdx); + if (data == null) { + data = getData(_o, _timeIdx); + } if (data != null) return data.getValue(_idxObjet); return init_.getData(_o, _timeIdx, _idxObjet); } @@ -105,12 +108,6 @@ protected void setCachedData(CtuluVariable _o, int _timeIdx, EfData _data) { Map<CtuluVariable, SoftReference<EfData>> res = (Map<CtuluVariable, SoftReference<EfData>>) timeMap_.get(_timeIdx); if (res == null) { - // on reduit la map - // if (timeMap_.size() > maxSize_) { - // int[] keys = timeMap_.keys(); - // Arrays.sort(keys); - // timeMap_.remove(keys[0]); - // } res = new HashMap<CtuluVariable, SoftReference<EfData>>(10); timeMap_.put(_timeIdx, res); } Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfIndexVisitorHashSet.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfIndexVisitorHashSet.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfIndexVisitorHashSet.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -44,7 +44,7 @@ } public void visitItem(final Object _item) { - items_.add(((Number) _item).intValue()); + visitItem(((Number) _item).intValue()); } public void visitItem(final int _item) { @@ -64,4 +64,14 @@ return res; } + /** + * @param _preselectMeshes + */ + public void set(TIntHashSet _preselectMeshes) { + items_.clear(); + for (TIntIterator it = _preselectMeshes.iterator(); it.hasNext();) { + items_.add(it.next()); + } + } + } Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectorActivity.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectorActivity.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfLineIntersectorActivity.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -7,6 +7,7 @@ */ package org.fudaa.dodico.ef.operation; +import gnu.trove.TIntHashSet; import gnu.trove.TIntIterator; import java.util.ArrayList; @@ -210,6 +211,7 @@ } protected void addIntersectFor(int _idxElt, List _res) { + EfElement elt = grid_.getElement(_idxElt); int nbArete = elt.getNbEdge(); tmp_.clear(); @@ -303,7 +305,12 @@ env_.expandToInclude(ptLine2_); // on recupere les \xE9l\xE9ments selectionn\xE9s par l'enveloppe du segment eltSelected_.clear(); - index.query(env_, eltSelected_); + if (preselectMeshes_ != null && preselectMeshes_.size() > 0) { + eltSelected_.set(preselectMeshes_); + + } else { + index.query(env_, eltSelected_); + } // si c'est les memes points, on fait rien ... // le premier point du segment addIntersectionForSegExtremite(res, ptLine1_.x, ptLine1_.y, eltSelected_); @@ -329,6 +336,12 @@ grid_.getNeighbors(); } + TIntHashSet preselectMeshes_; + + public void setPreselectedMeshes(TIntHashSet _preselectMeshes) { + preselectMeshes_ = _preselectMeshes; + } + public final EfLineIntersectionsResultsMng computeFor(LineString _str, ProgressionInterface _prog, boolean _forElement) { LineString str = GISGeometryFactory.INSTANCE.createLineString(GISGeometryFactory.INSTANCE .getCoordinateSequenceFactory().create(_str.getCoordinateSequence())); @@ -382,12 +395,6 @@ .getCoordinateSequence().getY(i + 1)); up.majAvancement(); } - /* - * if (_forElement) { // on enleve les intersections internes qui sont sur des aretes et qui sont entour\xE9 par des - * intersections sur // des \xE9l\xE9ments. Ces intersections sont inutiles for (int i = list.size() - 2; i > 0; i--) { if - * (((EfLineIntersection) list.get(i)).isEdgeIntersection() && ((EfLineIntersection) list.get(i - - * 1)).isRealIntersection() && ((EfLineIntersection) list.get(i + 1)).isRealIntersection()) { list.remove(i); } } } - */ EfLineIntersection[] intersections = (EfLineIntersection[]) list.toArray(new EfLineIntersection[list.size()]); return new EfLineIntersectionsResultsMng(gridData_, intersections, computeIsOut(intersections, _prog), str, Modified: branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfTrajectoireActivity.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfTrajectoireActivity.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/dodico/src/org/fudaa/dodico/ef/operation/EfTrajectoireActivity.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -33,32 +33,13 @@ */ public class EfTrajectoireActivity implements CtuluActivity { - /** - * @return the tester - */ - public EfLineIntersectionsCorrectionTester getTester() { - return tester_; - } - - /** - * @param _tester the tester to set - */ - public void setTester(EfLineIntersectionsCorrectionTester _tester) { - tester_ = _tester; - } - final EfLineIntersectionsCorrectionTester lineIntersectCorrect_; /** * Liste des intersections r\xE9sultats */ - ArrayList<EfLineIntersection> listeIntersection_ = null; + ArrayList<EfLineIntersection> listeIntersection_; - // List<Coordinate> listePointsARepartir_ = new ArrayList<Coordinate>(); // les GrPoint ne sont utilisee que pour - - // l'affichage - // ProgressionInterface prog_; - EfGridDataInterpolator gridDatas_; EfLineIntersectorActivity intersectFinder_; EfLineIntersectionsCorrectionActivity correctionActivity = new EfLineIntersectionsCorrectionActivity(); @@ -111,6 +92,20 @@ } /** + * @return the tester + */ + public EfLineIntersectionsCorrectionTester getTester() { + return tester_; + } + + /** + * @param _tester the tester to set + */ + public void setTester(EfLineIntersectionsCorrectionTester _tester) { + tester_ = _tester; + } + + /** * Methode appel\xE9e par l'interface de calcul des lignes de courant. * * @param init_ point de depart @@ -266,7 +261,7 @@ absDeltaT = newT - lastTime; final double newx = lastCoordinate.x + vx * absDeltaT; final double newy = lastCoordinate.y + vy * absDeltaT; - + intersectFinder_.setPreselectedMeshes(elementsAdjacent); EfLineIntersectionsResultsI intersectResult = intersectFinder_.computeFor( GISGeometryFactory.INSTANCE.createSegment(lastCoordinate.x, lastCoordinate.y, newx, newy), null, gridDatas_.getData().isElementVar(parameters.vx)).getDefaultRes(); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoteTester.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoteTester.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoteTester.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -69,6 +69,7 @@ public boolean createNews(final int _tidx, final EfLineIntersection _i1, final EfLineIntersection _i2, final List _setNewIn) { + if(!_i1.isRealIntersection()|| !_i2.isRealIntersection()) return false; // les b repr\xE9sentent la bathy final double b1 = _i1.getValue(bathy_, _tidx); final double b2 = _i2.getValue(bathy_, _tidx); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/tr_en.fr_txt =================================================================== (Binary files differ) Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceBuilder.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -112,6 +112,14 @@ } + /** + * @param _f + * @param _impl + * @param _id l'identifiant du fichier utilise si le format du fichier n'a pas \xE9t\xE9 trouve selon l'extension + * @param _prog + * @param _otherData + * @return + */ public static TrPostSource activeSourceAction(final File _f, final CtuluUI _impl, final String _id, final ProgressionInterface _prog, final Map _otherData) { if (_f == null) { return null; } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireComputeAndDisplayActivity.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireComputeAndDisplayActivity.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostTrajectoireComputeAndDisplayActivity.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -1,5 +1,6 @@ package org.fudaa.fudaa.tr.post; +import java.awt.EventQueue; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -107,7 +108,7 @@ FSigLayerGroup traj_; - TrPostTrajectoireLineLayer calqueAecraser_ ; + TrPostTrajectoireLineLayer calqueAecraser_; public TrPostTrajectoireComputeAndDisplayActivity(final TrPostVisuPanel calque, TrPostTrajectoireLineLayer c) { this.pn_ = calque; @@ -129,7 +130,7 @@ * @param _prog l'interface de progression, peut etre null * @return */ - public String computeLigneCourant(TrPostVisuPanel vue2d, final EfTrajectoireParameters _data, + public String computeLigneCourant(final TrPostVisuPanel vue2d, final EfTrajectoireParameters _data, final CtuluAnalyze _analyse, final ProgressionInterface _prog) { stop_ = false; // on recupere les lignes de courant @@ -153,7 +154,21 @@ lb.setAttributes(attDansOrdreIns.toArray(new GISAttributeInterface[attDansOrdreIns.size()]), null); lb.addAll(model, null, false); - String titreCalque = ""; + final String titreCalque = getCalqueTitle(_data); + EventQueue.invokeLater(new Runnable() { + public void run() { + final ZCalqueLigneBrisee la = createLayer(vue2d, _data, dest, lb, titreCalque, findAttributeForVariable( + varAtttributes, MARK)); + la.setDestructible(true); + dest.enPremier(la); + } + }); + return TrResource.TR.getString("Calque {0} cr\xE9\xE9", titreCalque); + + } + + private String getCalqueTitle(final EfTrajectoireParameters _data) { + String titreCalque; if (calqueAecraser_ == null) { CtuluDialogPanel pn = new CtuluDialogPanel(false); pn.setLayout(new BuGridLayout(2)); @@ -169,12 +184,7 @@ this.pn_.detruireCalque(calqueAecraser_); } - final ZCalqueLigneBrisee la = createLayer(vue2d, _data, dest, lb, titreCalque, findAttributeForVariable( - varAtttributes, MARK)); - la.setDestructible(true); - dest.enPremier(la); - return TrResource.TR.getString("Calque {0} cr\xE9\xE9", la.getTitle()); - + return titreCalque; } GISAttributeInterface findAttributeForVariable(Map<GISAttributeInterface, CtuluVariable> _varAtttributes, Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/dialogSpec/TrPostTrajectoireTaskModel.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -46,8 +46,6 @@ import org.fudaa.fudaa.tr.post.TrPostTrajectoireLineLayer; import org.fudaa.fudaa.tr.post.TrPostVisuPanel; -import sun.security.action.GetLongAction; - import com.memoire.bu.BuComboBox; import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuPanel; @@ -215,7 +213,7 @@ // -- premier point --// doubleEditor_.setValue(dataReplay.segment_.get(0).x, x_); doubleEditor_.setValue(dataReplay.segment_.get(0).y, y_); - integerEditor_.setValue(dataReplay.nbPointsInitiaux_,nbPoints_); + integerEditor_.setValue(dataReplay.nbPointsInitiaux_, nbPoints_); // -- dernier point --// doubleEditor_.setValue(dataReplay.segment_.get(dataReplay.segment_.size() - 1).x, x2_); doubleEditor_.setValue(dataReplay.segment_.get(dataReplay.segment_.size() - 1).y, y2_); @@ -234,6 +232,11 @@ Coordinate c = getFirsCoordinate(); Coordinate cEnd = getEndCoordinate(); int nbLigne = (Integer) integerEditor_.getValue(nbPoints_); + return getPointsFromSegment(c, cEnd, nbLigne); + + } + + public static List<Coordinate> getPointsFromSegment(Coordinate c, Coordinate cEnd, int nbLigne) { List<Coordinate> res = new ArrayList<Coordinate>(nbLigne); if (c.distance(cEnd) < MAXDIST) { res.add(c); @@ -255,7 +258,6 @@ } res.add(cEnd); return res; - } private Coordinate getEndCoordinate() { @@ -269,6 +271,7 @@ public void actTask(final ProgressionInterface _prog, final CtuluAnalyze _analyze, final String[] _messages) { // on recupere les points List<Coordinate> points = getPoints(); + _prog.setDesc(TrResource.getS("Construction des points")); int idxRemove = 0; // on enleve les points en dehors for (Iterator<Coordinate> it = points.iterator(); it.hasNext();) { @@ -295,36 +298,18 @@ _messages[0] = txt; } - // -- creation de la donn\xE9e persistante qui a permi de creer les infos --// - // TrPostTrajectoireLineLayerPersist persist=new TrPostTrajectoireLineLayerPersist(); - // persist.setPoint1(getFirsCoordinate()); - // persist.setPoint2(getEndCoordinate()); - // persist.setTrajectoire(isTrajectoire()); - // persist.setFinesse((Integer) integerEditor_.getValue(finesse_)); - // persist.setDureeCalcul(getDuree()); - // persist.setNbCesures((Integer)integerEditor_.getValue(nbPoints_)); Object[] selectedValues = listVar_.getSelectedValues(); - // HashSet<String> listeVar= new HashSet<String>(); - // for(int i=0;i<selectedValues.length;i++) - // listeVar.add(((CtuluVariable)selectedValues[i]).getID()); - // persist.setListeVariablesId(listeVar); - // if(isMarqueurTimeStep()) - // persist.setTypeMarqueur(1); - // else if(isMarqueurAvailable()) - // persist.setTypeMarqueur(2); - // else - // persist.setTypeMarqueur(0); - // // creation de l algo + _prog.setDesc(TrResource.getS("Calcul")); algoCalcul_ = new TrPostTrajectoireComputeAndDisplayActivity(calque_, layerAEcraser_); final TrPostFlecheContent flecheContent = getSelectedVariable(); final EfTrajectoireParameters data = new EfTrajectoireParameters(); - data.segment_=new ArrayList<Coordinate>(); + data.segment_ = new ArrayList<Coordinate>(); data.segment_.add(getFirsCoordinate()); data.segment_.add(getEndCoordinate()); - data.nbPointsInitiaux_=(Integer) integerEditor_.getValue(nbPoints_); - + data.nbPointsInitiaux_ = (Integer) integerEditor_.getValue(nbPoints_); + data.vx = flecheContent.getVx(); data.vy = flecheContent.getVy(); data.dureeIntegration_ = getDuree(); @@ -553,9 +538,6 @@ } public String isValid() { - // pas necessaire - // if (listVar_.getSelectedIndex() == -1) { return TrResource.getS("Il faut choisir une variable"); } - // if (cbFirstTime_.getSelectedIndex() == -1) { return TrResource.getS("Il faut choisir un pas de temps"); } if (!this.integerEditor_.isValueValidFromComponent(finesse_)) { return TrResource .getS("La finesse doit \xEAtre d\xE9fini par un entier sup\xE9rieur \xE0 1"); } if (!isSegmentValid()) { return TrResource.getS("Le segment n'est pas d\xE9fini"); } Added: branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/tr/TestTrajectoire.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/tr/TestTrajectoire.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/tr/TestTrajectoire.java 2009-03-21 18:29:25 UTC (rev 4558) @@ -0,0 +1,117 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.fudaa.tr; + +import gnu.trove.TDoubleArrayList; + +import java.io.File; +import java.util.Arrays; +import java.util.List; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.CtuluUIDefault; +import org.fudaa.dodico.ef.operation.EfTrajectoireActivity; +import org.fudaa.dodico.ef.operation.EfTrajectoireParameters; +import org.fudaa.dodico.ef.operation.EfTrajectoireResultBuilder; +import org.fudaa.dodico.fichiers.FileFormatSoftware; +import org.fudaa.dodico.h2d.type.H2dVariableType; +import org.fudaa.fudaa.meshviewer.profile.MvProfileCoteTester; +import org.fudaa.fudaa.tr.post.TrPostSource; +import org.fudaa.fudaa.tr.post.TrPostSourceBuilder; +import org.fudaa.fudaa.tr.post.dialogSpec.TrPostTrajectoireTaskModel; + +import com.vividsolutions.jts.geom.Coordinate; + +/** + * @author deniger + */ +public class TestTrajectoire { + + public static void main(String[] args) { + if (args == null || args.length == 0) { + System.err.println("No file set"); + System.exit(1); + } + File f = new File(args[0]); + if (!f.exists()) { + System.err.println("File " + f + " not found"); + System.exit(1); + } + CtuluUIDefault ui = new CtuluUIDefault(); + TrPostSource src = TrPostSourceBuilder.activeSourceAction(f, ui, FileFormatSoftware.TELEMAC_IS.name, null, null); + if (src == null) { + System.err.println("Problem in reading file"); + System.exit(1); + } + double[] initTimeSteps = src.getTime().getInitTimeSteps(); + + EfTrajectoireParameters param = new EfTrajectoireParameters(); + param.vx = H2dVariableType.VITESSE_U; + param.vy = H2dVariableType.VITESSE_V; + param.dureeIntegration_ = -18000; + param.finesse_ = 1; + param.isLigneDeCourant = false; + param.firstTimeStepIdx_ = 71; + param.firstTimeStep_ = initTimeSteps[param.firstTimeStepIdx_]; + param.nbPointsInitiaux_ = 15; + Coordinate deb = new Coordinate(477286, 241715, 0); + Coordinate end = new Coordinate(477316, 241654, 0); + param.segment_ = Arrays.asList(deb, end); + param.points_ = TrPostTrajectoireTaskModel.getPointsFromSegment(deb, end, param.nbPointsInitiaux_); + + CtuluAnalyze analyze = new CtuluAnalyze(); + EfTrajectoireActivity act = new EfTrajectoireActivity(src, initTimeSteps); + act.setTester(new MvProfileCoteTester()); +// EfTrajectoireActivity act2 = new EfTrajectoireActivity(src, initTimeSteps); +// act2.setFast(true); +// act2.setTester(new MvProfileCoteTester()); + long t = System.nanoTime(); + List<EfTrajectoireResultBuilder> computeLigneCourant = act.computeLigneCourant(param, null, analyze); + System.err.println((System.nanoTime() - t) * 1E-9); + + t = System.nanoTime(); +// List<EfTrajectoireResultBuilder> computeLigneCourant2 = act2.computeLigneCourant(param, null, analyze); +// System.err.println("Fast "+(System.nanoTime() - t) * 1E-9); +// int n = computeLigneCourant.size(); +// for (int i = 0; i < n; i++) { +// System.err.println("comparaison du resultat " + i); +// EfTrajectoireResultBuilder efTrajectoireResultBuilder = computeLigneCourant.get(i); +// EfTrajectoireResultBuilder efTrajectoireResultBuilder2 = computeLigneCourant2.get(i); +// compareCoords(efTrajectoireResultBuilder.getCoords(), efTrajectoireResultBuilder2.getCoords()); +// compareTimes(efTrajectoireResultBuilder.getTimes(), efTrajectoireResultBuilder2.getTimes()); +// } + + analyze.printResume(); + + } + + private static void compareTimes(TDoubleArrayList times, TDoubleArrayList times2) { + if (times.size() == times2.size()) { + for (int i = 0; i < times.size(); i++) { + double c = times.get(i); + double c2 = times2.get(i); + if (Math.abs(c - c2) > 1E-3) { + System.err.println("temps pas egales pour i=" + i); + } + } + } else { + System.err.println("times non egale"); + } + } + + private static void compareCoords(List<Coordinate> coords, List<Coordinate> coords2) { + if (coords.size() == coords2.size()) { + for (int i = 0; i < coords.size(); i++) { + Coordinate c = coords.get(i); + Coordinate c2 = coords2.get(i); + if (c.distance(c2) > 1E-3) { + System.err.println("coordonn\xE9es pas egales pour i=" + i); + } + } + } else { + System.err.println("taille non egale"); + } + } +} Added: branches/Prepro-0.92-SNAPSHOT/fudaa/xyTest.txt =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/xyTest.txt (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/xyTest.txt 2009-03-21 18:29:25 UTC (rev 4558) @@ -0,0 +1,2 @@ +477286 241715 +477316 241654 \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml 2009-03-19 17:41:51 UTC (rev 4557) +++ branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml 2009-03-21 18:29:25 UTC (rev 4558) @@ -16,374 +16,298 @@ --> <project name="prepro" default="build" basedir="."> - <!--on importe les taches du fichier ant-deploy.xml--> - <import file="../ant-deploy.xml" /> - <property name="this.main.class" value="Tr" /> - <property name="this.help.jar.name" value="prepro-help.jar" /> - <property name="this.dir" location="./" /> - <property name="jnlp.file.name" value="prepro.jnlp" /> - <property name="mencoder.win.jar" value="mencoder/mencoder_win.jar" /> - <property name="jnlp.no3D.file.name" value="prepro-no3D.jnlp" /> - <property name="jnlp.file" location="${this.dir}/${jnlp.file.name}" /> - <property name="prop.file" location="${this.dir}/prepro.properties" /> - <property name="ssh.install.dir" value="/home/fudaa/www/install" /> - <property name="prepro.install.dir" value="${ssh.install.dir}/prepro" /> + <!--on importe les taches du fichier ant-deploy.xml--> + <import file="../ant-deploy.xml" /> + <property name="this.main.class" value="Tr" /> + <property name="this.help.jar.name" value="prepro-help.jar" /> + <property name="this.dir" location="./" /> + <property name="jnlp.file.name" value="prepro.jnlp" /> + <property name="mencoder.win.jar" value="mencoder/mencoder_win.jar" /> + <property name="jnlp.no3D.file.name" value="prepro-no3D.jnlp" /> + <property name="jnlp.file" location="${this.dir}/${jnlp.file.name}" /> + <property name="prop.file" location="${this.dir}/prepro.properties" /> + <property name="ssh.install.dir" value="/home/fudaa/www/install" /> + <property name="prepro.install.dir" value="${ssh.install.dir}/prepro" /> - <target name="prepro-init" depends=".testChemins"> - <property name="this.help.jar" - location="${projet.dir}/aide/src/prepro/build/${this.help.jar.name}" /> - <property file="${prop.file}" /> - <property name="zip.file" location="${this.build.dir}/Fudaa-Prepro_${@version.file@}.zip" /> - <condition property="docExist"> - <available file="${this.help.jar}" /> - </condition> - </target> + <target name="prepro-init" depends=".testChemins"> + <property name="this.help.jar" location="${projet.dir}/aide/src/prepro/build/${this.help.jar.name}" /> + <property file="${prop.file}" /> + <property name="zip.file" location="${this.build.dir}/Fudaa-Prepro_${@version.file@}.zip" /> + <condition property="docExist"> + <available file="${this.help.jar}" /> + </condition> + </target> - <target name="createDocJar" depends="prepro-init" unless="docExist"> - <ant antfile="${projet.dir}/aide/src/prepro/build.xml" target="build" /> - <ant antfile="${projet.dir}/aide/src/prepro/build.xml" target="jarDoc" /> - </target> + <target name="createDocJar" depends="prepro-init" unless="docExist"> + <ant antfile="${projet.dir}/aide/src/prepro/build.xml" target="build" /> + <ant antfile="${projet.dir}/aide/src/prepro/build.xml" target="jarDoc" /> + </target> - <!--Construction du zip de distribution. Il est a noter que le fichier jnlp utilis\xE9 est + <!--Construction du zip de distribution. Il est a noter que le fichier jnlp utilis\xE9 est un peu diff\xE9rent car il n'utilise pas Java3D: cela est g\xEAnant pour une utilisation hors-ligne car au d\xE9marrage javawebstart essaierait de t\xE9l\xE9charger java3D --> - <target name="buildZip" - depends="createDocJar,buildJnlp" - description="Construit le fichier zip contenant les jar et les scripts"> - <delete failonerror="false" file="${zip.file}" /> - <zip destfile="${zip.file}"> - <zipfileset file="${this.jar.file}" prefix="jars" /> - <zipfileset file="${this.help.jar}" prefix="jars" /> - <zipfileset file="${mencoder.win.jar}" prefix="jars" /> - <zipfileset file="${this.build.dir}/${jnlp.no3D.file.name}" fullpath="${jnlp.file.name}" /> - <zipfileset dir="../commun/" includes="lic*.txt" /> - <zipfileset dir="${this.dir}/maquette_zip/" /> - <zipfileset dir="${this.dir}/images/" excludes="*.xcf" prefix="images/" /> - <zipfileset dir="../etc/" includes="mesh.*,supervisor.*,post.*,editor.*" prefix="icones" /> - </zip> - <mkdir dir="${this.build.dir}/archive" /> - <copy file="${zip.file}" todir="${this.build.dir}/archive" /> - </target> + <target name="buildZip" depends="createDocJar,buildJnlp" description="Construit le fichier zip contenant les jar et les scripts"> + <delete failonerror="false" file="${zip.file}" /> + <zip destfile="${zip.file}"> + <zipfileset file="${this.jar.file}" prefix="jars" /> + <zipfileset file="${this.help.jar}" prefix="jars" /> + <zipfileset file="${mencoder.win.jar}" prefix="jars" /> + <zipfileset file="${this.build.dir}/${jnlp.no3D.file.name}" fullpath="${jnlp.file.name}" /> + <zipfileset dir="../commun/" includes="lic*.txt" /> + <zipfileset dir="${this.dir}/maquette_zip/" /> + <zipfileset dir="${this.dir}/images/" excludes="*.xcf" prefix="images/" /> + <zipfileset dir="../etc/" includes="mesh.*,supervisor.*,post.*,editor.*" prefix="icones" /> + </zip> + <mkdir dir="${this.build.dir}/archive" /> + <copy file="${zip.file}" todir="${this.build.dir}/archive" /> + </target> - <!--Construit les 2 fichiers jnlp \xE0 utiliser: un avec la 3D et l'autre sans. + <!--Construit les 2 fichiers jnlp \xE0 utiliser: un avec la 3D et l'autre sans. Le lien pour la 3D est r\xE9cup\xE9r\xE9 dans le fichier "java3D-link.txt"--> - <target name="buildJnlp" - depends="prepro-init" - description="Construit le contenu des fichiers jnlp"> - <loadfile property="link.3d" srcfile="java3D-link.txt" /> - <copy overwrite="true" file="${jnlp.file}" todir="${this.build.dir}" filtering="true"> - <filterset> - <filter token="version" value="v${@version@}" /> - <filter token="3D" value="${link.3d}" /> - </filterset> - </copy> - <!--ce fichier jnlp est utilis\xE9 pour le zip--> - <copy overwrite="true" - file="${jnlp.file}" - tofile="${this.build.dir}/${jnlp.no3D.file.name}" - filtering="true"> - <filterset> - <filter token="version" value=" v${@version@}n" /> - <filter token="3D" value="" /> - </filterset> - </copy> - </target> + <target name="buildJnlp" depends="prepro-init" description="Construit le contenu des fichiers jnlp"> + <loadfile property="link.3d" srcfile="java3D-link.txt" /> + <copy overwrite="true" file="${jnlp.file}" todir="${this.build.dir}" filtering="true"> + <filterset> + <filter token="version" value="v${@version@}" /> + <filter token="3D" value="${link.3d}" /> + </filterset> + </copy> + <!--ce fichier jnlp est utilis\xE9 pour le zip--> + <copy overwrite="true" file="${jnlp.file}" tofile="${this.build.dir}/${jnlp.no3D.file.name}" filtering="true"> + <filterset> + <filter token="version" value=" v${@version@}n" /> + <filter token="3D" value="" /> + </filterset> + </copy> + </target> - <target name="deployAndSend" - depends="deploy,sendToFudaaFr" - description="Construit les jars et met a jour les sites distants"> - </target> + <target name="deployAndSend" depends="deploy,sendToFudaaFr" description="Construit les jars et met a jour les sites distants"> + </target> - <!--Envoie l'aide sur le site: effectu\xE9e que si la doc est mise \xE0 jour--> - <target name="sendHelpToFudaaFr" - depends="setProxy,buildZip" - description="Met a jour l'aide sur le site distant. + <!--Envoie l'aide sur le site: effectu\xE9e que si la doc est mise \xE0 jour--> + <target name="sendHelpToFudaaFr" depends="setProxy,buildZip" description="Met a jour l'aide sur le site distant. Le zip est reconstruit afin qu'il contienne la nouvelle doc. A utiliser que lorsque la doc est mise \xE0 jour."> - <scp file="${this.help.jar}" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" - trust="true" /> - </target> - <!--Envoie l'aide sur le site: effectu\xE9e que si la doc est mise \xE0 jour--> - <target name="sendMencoderFudaaFr" - depends="setProxy" - description="Met a jour mencoder pour windows sur le site distant."> - <scp file="${mencoder.win.jar}" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" - trust="true" /> - </target> + <scp file="${this.help.jar}" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" trust="true" /> + </target> + <!--Envoie l'aide sur le site: effectu\xE9e que si la doc est mise \xE0 jour--> + <target name="sendMencoderFudaaFr" depends="setProxy" description="Met a jour mencoder pour windows sur le site distant."> + <scp file="${mencoder.win.jar}" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" trust="true" /> + </target> - <target name="deploy" - depends="rebuild" - description="efface les classes, recompile le tout,cree et signe le jar. + <target name="deploy" depends="rebuild" description="efface les classes, recompile le tout,cree et signe le jar. Les fichiers Jnlp sont \xE9galament cr\xE9\xE9s"> - <antcall target="createJar" /> - <antcall target="signJar" /> - <!--Le build Zip reconstruit deja les fichiers jnlp --> - <antcall target="buildZip" /> - </target> + <antcall target="createJar" /> + <antcall target="signJar" /> + <!--Le build Zip reconstruit deja les fichiers jnlp --> + <antcall target="buildZip" /> + </target> - <!--Envoie Tout ce qui est necessaire sauf l'aide:car elle ne bouge pas beaucoup! --> - <target name="sendToFudaaFr" - depends="setProxy,prepro-init" - description="Met a jour les sites distants ( sauf le jar d'aide)"> - <scp file="${this.build.dir}/${jnlp.file.name}" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}" - trust="true" /> - <scp todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/images" - trust="true"> - <fileset dir="${basedir}/images" excludes="*.xcf" /> - </scp> + <!--Envoie Tout ce qui est necessaire sauf l'aide:car elle ne bouge pas beaucoup! --> + <target name="sendToFudaaFr" depends="setProxy,prepro-init" description="Met a jour les sites distants ( sauf le jar d'aide)"> + <scp file="${this.build.dir}/${jnlp.file.name}" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}" trust="true" /> + <scp todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/images" trust="true"> + <fileset dir="${basedir}/images" excludes="*.xcf" /> + </scp> - <!--Pour que le tout marche il faut que le jar et le jar.pack.gz soient dans un dossier inf\xE9rieur--> - <scp file="${this.jar.file}.pack.gz" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars/last" - trust="true" /> - <scp file="${this.jar.file}" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars/last" - trust="true" /> + <!--Pour que le tout marche il faut que le jar et le jar.pack.gz soient dans un dossier inf\xE9rieur--> + <scp file="${this.jar.file}.pack.gz" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars/last" trust="true" /> + <scp file="${this.jar.file}" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars/last" trust="true" /> - <scp file="${basedir}/jars/fudaa-prepro.jar.var" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" - trust="true" /> - <scp file="${basedir}/jars/.htaccess" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" - trust="true" /> - <!--On efface les pr\xE9c\xE9dents zip--> - <sshexec host="${ssh.host}" - password="${ssh.password}" - username="${ssh.username}" - trust="true" - command="rm -vf ${prepro.install.dir}/Fudaa-Prepro*.zip" /> + <scp file="${basedir}/jars/fudaa-prepro.jar.var" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" trust="true" /> + <scp file="${basedir}/jars/.htaccess" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}/jars" trust="true" /> + <!--On efface les pr\xE9c\xE9dents zip--> + <sshexec host="${ssh.host}" password="${ssh.password}" username="${ssh.username}" trust="true" command="rm -vf ${prepro.install.dir}/Fudaa-Prepro*.zip" /> - <scp file="${zip.file}" - todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}" - trust="true" /> - <ant antfile="${projet.dir}/aide/src/prepro/build.xml" - target="updateDistWeb" - inheritall="false" /> - </target> + <scp file="${zip.file}" todir="${ssh.username}:${ssh.password}@${ssh.host}:${prepro.install.dir}" trust="true" /> + <ant antfile="${projet.dir}/aide/src/prepro/build.xml" target="updateDistWeb" inheritall="false" /> + </target> - <target name="createJar" depends=".testCheminGenJar" description="cree fudaa_tr.jar"> - <!--On prepare le dossier de destination et on efface les anciens jars pour \xE9viter les conflits: + <target name="createJar" depends=".testCheminGenJar" description="cree fudaa_tr.jar"> + <!--On prepare le dossier de destination et on efface les anciens jars pour \xE9viter les conflits: des fois la tache genjar essaie de mettre \xE0 jour le jar ce qui prend du temps et peut \xEAtre source d'erreur subtile--> - <mkdir dir="${this.jar.dir}" /> - <delete file="${this.jar.file}" /> - <genjar jarfile="${this.jar.file}"> - <classpath path="${fudaaDist.classpath}" /> - <manifest generateEntryAttributes="no"> - <attribute name="Main-Class" value="org.fudaa.fudaa.tr.Tr" /> - <!--Pour le jar d'aide--> - <attribute name="Class-Path" value="${this.help.jar.name}" /> - </manifest> - <class name="org.fudaa.fudaa.tr.Tr" /> - <class name="org.fudaa.fudaa.tr.TrEditor" /> - <class name="org.fudaa.fudaa.tr.TrMesh" /> - <class name="org.fudaa.fudaa.tr.TrPost" /> - <class name="org.fudaa.fudaa.tr.TrSupervisor" /> - <!--Cette classe GrData est ajout\xE9e \xE0 cause d'un bogue avec db4o qui ne retrouvait pas ces petits--> - <class name="org.fudaa.ebli.geometrie.GrData" /> - <!--Pour ces librairies, tous les fichiers et toutes les ressources sont n\xE9cessaires--> - <library jar="${ctulu.lib.dir}/db4o.jar" /> - <library jar="${ctulu.lib.dir}/xstream-1.3.jar" /> - <library jar="${ctulu.lib.dir}/xpp3_min-1.1.4c.jar" /> - <library jar="${ctulu.lib.dir}/fgis.jar" /> - <library jar="${ctulu.lib.dir}/looks.jar" /> - <library jar="${ctulu.lib.dir}/jep.jar" /> - <library jar="${ctulu.lib.dir}/commons-logging-1.1.jar" /> - <!--Classes appel\xE9es par reflexion--> - <class> - <fileset dir="${fudaa.dist.classes.dir}"> - <include name="org/fudaa/dodico/telemac/dico/*.class" /> - </fileset> - </class> - <!--Pas de CORBA pour Fudaa-Prepro--> - <classfilter> - <exclude name="org.fudaa.dodico.corba." /> - <exclude name="org.fudaa.dodico.usine." /> - </classfilter> - <!--Les ressources utilis\xE9es--> - <!--On utilise pas les icones de bu mais ceux de crystal, d'ou les excludes--> - <resource> - <fileset dir="${fudaa.dist.classes.dir}"> - <patternset refid="ressources.fic" /> - <include name="org/fudaa/dodico/commun/" /> - <include name="org/fudaa/ctulu/" /> - <include name="com/memoire/bu/" /> - <include name="com/hexidec/ekit/" /> - <include name="com/memoire/dja/" /> - <exclude name="com/memoire/dja/*_24.*" /> - <exclude name="com/memoire/dja/logo*.*" /> - <exclude name="com/memoire/dja/banner*.*" /> - <exclude name="com/memoire/bu/alma_*" /> - <exclude name="com/memoire/bu/*_16.*" /> - <exclude name="com/memoire/bu/*_20.*" /> - <exclude name="com/memoire/bu/*_22.*" /> - <exclude name="com/memoire/bu/*_24.*" /> - <exclude name="com/memoire/bu/*_26.*" /> - <exclude name="com/memoire/bu/*_32.*" /> - <exclude name="com/memoire/bu/*_48.*" /> - <exclude name="com/memoire/bu/*_64.*" /> - <exclude name="com/memoire/bu/crystal22_*" /> - <include name="com/memoire/dnd/" /> - <include name="com/memoire/bu/crystal*" /> - <include name="org/fudaa/dodico/h2d/" /> - <include name="org/fudaa/dodico/reflux/" /> - <include name="org/fudaa/ebli/ressource/" /> - <exclude name="org/fudaa/ebli/ressource/volume" /> - <exclude name="org/fudaa/ebli/ressource/echellez*" /> - <exclude name="org/fudaa/ebli/ressource/lumiere*" /> - <exclude name="org/fudaa/ebli/ressource/texture*" /> - <include name="org/fudaa/fudaa/ressource/" /> - <exclude name="org/fudaa/fudaa/ressource/connecter*" /> - <exclude name="org/fudaa/fudaa/ressource/astuces/" /> - <include name="org/fudaa/fudaa/sig/" /> - <include name="org/fudaa/fudaa/tr/" /> - <include name="org/fudaa/fudaa/tr/common/" /> - <include name="org/fudaa/fudaa/fdico/" /> - <include name="org/fudaa/fudaa/meshviewer/" /> - <include name="ghm/followgui/" /> - </fileset> - </resource> - </genjar> - <!--Important car utilis\xE9 par geotools pour ces factories--> - <zip destfile="${this.jar.file}" update="true" compress="true"> - <zipgroupfileset file="${ctulu.lib.dir}/fgis.jar" - includes="META-INF/services/**,META-INF/registry*" /> - </zip> - </target> + <mkdir dir="${this.jar.dir}" /> + <delete file="${this.jar.file}" /> + <genjar jarfile="${this.jar.file}"> + <classpath path="${fudaaDist.classpath}" /> + <manifest generateEntryAttributes="no"> + <attribute name="Main-Class" value="org.fudaa.fudaa.tr.Tr" /> + <!--Pour le jar d'aide--> + <attribute name="Class-Path" value="${this.help.jar.name}" /> + </manifest> + <class name="org.fudaa.fudaa.tr.Tr" /> + <class name="org.fudaa.fudaa.tr.TrEditor" /> + <class name="org.fudaa.fudaa.tr.TrMesh" /> + <class name="org.fudaa.fudaa.tr.TrPost" /> + <class name="org.fudaa.fudaa.tr.TrSupervisor" /> + <!--Cette classe GrData est ajout\xE9e \xE0 cause d'un bogue avec db4o qui ne retrouvait pas ces petits--> + <class name="org.fudaa.ebli.geometrie.GrData" /> + <!--Pour ces librairies, tous les fichiers et toutes les ressources sont n\xE9cessaires--> + <library jar="${ctulu.lib.dir}/db4o.jar" /> + <library jar="${ctulu.lib.dir}/xstream-1.3.jar" /> + <library jar="${ctulu.lib.dir}/xpp3_min-1.1.4c.jar" /> + <library jar="${ctulu.lib.dir}/PDFRenderer.jar" /> + <library jar="${ctulu.lib.dir}/fgis.jar" /> + <library jar="${ctulu.lib.dir}/looks.jar" /> + <library jar="${ctulu.lib.dir}/jep.jar" /> + <library jar="${ctulu.lib.dir}/commons-logging-1.1.jar" /> + <!--Classes appel\xE9es par reflexion--> + <class> + <fileset dir="${fudaa.dist.classes.dir}"> + <include name="org/fudaa/dodico/telemac/dico/*.class" /> + </fileset> + </class> + <!--Pas de CORBA pour Fudaa-Prepro--> + <classfilter> + <exclude name="org.fudaa.dodico.corba." /> + <exclude name="org.fudaa.dodico.usine." /> + <exclude name="org.bouncycastle." /> + </classfilter> + <!--Les ressources utilis\xE9es--> + <!--On utilise pas les icones de bu mais ceux de crystal, d'ou les excludes--> + <resource> + <fileset dir="${fudaa.dist.classes.dir}"> + <patternset refid="ressources.fic" /> + <include name="org/fudaa/dodico/commun/" /> + <include name="org/fudaa/ctulu/" /> + <include name="com/memoire/bu/" /> + <include name="com/hexidec/ekit/" /> + <include name="com/memoire/dja/" /> + <exclude name="com/memoire/dja/*_24.*" /> + <exclude name="com/memoire/dja/logo*.*" /> + <exclude name="com/memoire/dja/banner*.*" /> + <exclude name="com/memoire/bu/alma_*" /> + <exclude name="com/memoire/bu/*_16.*" /> + <exclude name="com/memoire/bu/*_20.*" /> + <exclude name="com/memoire/bu/*_22.*" /> + <exclude name="com/memoire/bu/*_24.*" /> + <exclude name="com/memoire/bu/*_26.*" /> + <exclude name="com/memoire/bu/*_32.*" /> + <exclude name="com/memoire/bu/*_48.*" /> + <exclude name="com/memoire/bu/*_64.*" /> + <exclude name="com/memoire/bu/crystal22_*" /> + <include name="com/memoire/dnd/" /> + <include name="com/memoire/bu/crystal*" /> + <include name="org/fudaa/dodico/h2d/" /> + <include name="org/fudaa/dodico/reflux/" /> + <include name="org/fudaa/ebli/ressource/" /> + <exclude name="org/fudaa/ebli/ressource/volume" /> + <exclude name="org/fudaa/ebli/ressource/echellez*" /> + <exclude name="org/fudaa/ebli/ressource/lumiere*" /> + <exclude name="org/fudaa/ebli/ressource/texture*" /> + <include name="org/fudaa/fudaa/ressource/" /> + <exclude name="org/fudaa/fudaa/ressource/connecter*" /> + <exclude name="org/fudaa/fudaa/ressource/astuces/" /> + <include name="org/fudaa/fudaa/sig/" /> + <include name="org/fudaa/fudaa/tr/" /> + <include name="org/fudaa/fudaa/tr/common/" /> + <include name="org/fudaa/fudaa/fdico/" /> + <include name="org/fudaa/fudaa/meshviewer/" /> + <include name="ghm/followgui/" /> + </fileset> + </resource> + </genjar> + <!--Important car utilis\xE9 par geotools pour ces factories--> + <zip destfile="${this.jar.file}" update="true" compress="true"> + <zipgroupfileset file="${ctulu.lib.dir}/fgis.jar" includes="META-INF/services/**,META-INF/registry*" /> + </zip> + </target> - <target name="signMencoder" depends=".testChemins"> - <property name="jarsigner" location="${java.home}/../bin/jarsigner"> - </property> - <property file="${cert.dir}/fudaa-jar.txt" /> - <signjar jar="${mencoder.win.jar}" - alias="${fudaa.alias}" - storepass="${fudaa.password}" - keystore="${cert.dir}/fudaa.keystore" /> - </target> + <target name="signMencoder" depends=".testChemins"> + <property name="jarsigner" location="${java.home}/../bin/jarsigner"> + </property> + <property file="${cert.dir}/fudaa-jar.txt" /> + <signjar jar="${mencoder.win.jar}" alias="${fudaa.alias}" storepass="${fudaa.password}" keystore="${cert.dir}/fudaa.keystore" /> + </target> - <!--Signe les jars cr\xE9es. Il faut utilise le sdk 1.5 pour cette tache a cause + <!--Signe les jars cr\xE9es. Il faut utilise le sdk 1.5 pour cette tache a cause de l'exe pack--> - <target name="signJar" depends=".testChemins"> - <property name="jarsigner" location="${java.home}/../bin/jarsigner"> - </property> - <property file="${cert.dir}/fudaa-jar.txt" /> - <signjar jar="${this.jar.file}" - alias="${fudaa.alias}" - storepass="${fudaa.password}" - keystore="${cert.dir}/fudaa.keystore" /> - <echo>RePack200 ${this.jar.name}</echo> - <exec newenvironment="true" - dir="${this.jar.dir}" - executable="${java.home}/bin/pack200" - failonerror="true" - vmlauncher="false"> - <arg line="--repack ${this.jar.name}" /> - </exec> - <echo>RePack200 ${this.jar.name} END</echo> - <signjar jar="${this.jar.file}" - alias="${fudaa.alias}" - storepass="${fudaa.password}" - keystore="${cert.dir}/fudaa.keystore" /> - <!--Je ne sais pas pourquoi il faut le faire 2 fois + <target name="signJar" depends=".testChemins"> + <property name="jarsigner" location="${java.home}/../bin/jarsigner"> + </property> + <property file="${cert.dir}/fudaa-jar.txt" /> + <signjar jar="${this.jar.file}" alias="${fudaa.alias}" storepass="${fudaa.password}" keystore="${cert.dir}/fudaa.keystore" /> + <echo>RePack200 ${this.jar.name}</echo> + <exec newenvironment="true" dir="${this.jar.dir}" executable="${java.home}/bin/pack200" failonerror="true" vmlauncher="false"> + <arg line="--repack ${this.jar.name}" /> + </exec> + <echo>RePack200 ${this.jar.name} END</echo> + <signjar jar="${this.jar.file}" alias="${fudaa.alias}" storepass="${fudaa.password}" keystore="${cert.dir}/fudaa.keystore" /> + <!--Je ne sais pas pourquoi il faut le faire 2 fois il semble qu'il y ait un bug dans les exe java --> - <!--A retester avec les nouvelles versions de Java--> - <echo>RePack200 ${this.jar.name} ENCORE ...</echo> - <exec newenvironment="true" - dir="${this.jar.dir}" - executable="${java.home}/bin/pack200" - failonerror="true" - vmlauncher="false"> - <arg line="--repack ${this.jar.name}" /> - </exec> - <echo>RePack200 ${this.jar.name} ENCORE END</echo> - <signjar jar="${this.jar.file}" - alias="${fudaa.alias}" - storepass="${fudaa.password}" - keystore="${cert.dir}/fudaa.keystore" /> - <echo>Test ${this.jar.name}</echo> - <exec dir="${this.jar.dir}" - executable="${jarsigner}" - newenvironment="true" - failonerror="true" - vmlauncher="false"> - <arg line="-verify ${this.jar.name}" /> - </exec> - <echo>Test ${this.jar.name} END</echo> - <delete file="${this.jar.dir}/${this.jar.name}.pack.gz" /> - <echo>Pack200 ${this.jar.name}</echo> - <exec newenvironment="true" - dir="${this.jar.dir}" - executable="${java.home}/bin/pack200" - failonerror="true" - vmlauncher="false"> - <arg line="${this.jar.name}.pack.gz ${this.jar.name}" /> - </exec> - <echo>Pack200 ${this.jar.name} END</echo> - <!--On teste la signature pour \xE9viter de balancer n'importe quoi sur le site--> - <echo>Test ${this.jar.name}.pack.gz</echo> - <exec newenvironment="true" - dir="${this.jar.dir}" - executable="${java.home}/bin/unpack200" - failonerror="true" - vmlauncher="false"> - <arg line="${this.jar.name}.pack.gz ${this.jar.name}.pack.gz.jar" /> - </exec> - <exec dir="${this.jar.dir}" - executable="${jarsigner}" - newenvironment="true" - failonerror="true" - vmlauncher="false"> - <arg line="-verify ${this.jar.name}.pack.gz.jar" /> - </exec> - <delete file="${this.jar.dir}/${this.jar.name}.pack.gz.jar" /> - <echo>Test ${this.jar.name}.pack.gz END</echo> - </target> + <!--A retester avec les nouvelles versions de Java--> + <echo>RePack200 ${this.jar.name} ENCORE ...</echo> + <exec newenvironment="true" dir="${this.jar.dir}" executable="${java.home}/bin/pack200" failonerror="true" vmlauncher="false"> + <arg line="--repack ${this.jar.name}" /> + </exec> + <echo>RePack200 ${this.jar.name} ENCORE END</echo> + <signjar jar="${this.jar.file}" alias="${fudaa.alias}" storepass="${fudaa.password}" keystore="${cert.dir}/fudaa.keystore" /> + <echo>Test ${this.jar.name}</echo> + <exec dir="${this.jar.dir}" executable="${jarsigner}" newenvironment="true" failonerror="true" vmlauncher="false"> + <arg line="-verify ${this.jar.name}" /> + </exec> + <echo>Test ${this.jar.name} END</echo> + <delete file="${this.jar.dir}/${this.jar.name}.pack.gz" /> + <echo>Pack200 ${this.jar.name}</echo> + <exec newenvironment="true" dir="${this.jar.dir}" executable="${java.home}/bin/pack200" failonerror="true" vmlauncher="false"> + <arg line="${this.jar.name}.pack.gz ${this.jar.name}" /> + </exec> + <echo>Pack200 ${this.jar.name} END</echo> + <!--On teste la signature pour \xE9viter de balancer n'importe quoi sur le site--> + <echo>Test ${this.jar.name}.pack.gz</echo> + <exec newenvironment="true" dir="${this.jar.dir}" executable="${java.home}/bin/unpack200" failonerror="true" vmlauncher="false"> + <arg line="${this.jar.name}.pack.gz ${this.jar.name}.pack.gz.jar" /> + </exec> + <exec dir="${this.jar.dir}" executable="${jarsigner}" newenvironment="true" failonerror="true" vmlauncher="false"> + <arg line="-verify ${this.jar.name}.pack.gz.jar" /> + </exec> + <delete file="${this.jar.dir}/${this.jar.name}.pack.gz.jar" /> + <echo>Test ${this.jar.name}.pack.gz END</echo> + </target> - <!--Ce jar est propos\xE9 en l'\xE9tat pour le LNHE: il permet d'\xE9diter n'importe quel fichier cas en pr\xE9cisant + <!--Ce jar est propos\xE9 en l'\xE9tat pour le LNHE: il permet d'\xE9diter n'importe quel fichier cas en pr\xE9cisant un fichier dico --> - <target name="jar_fdico" depends=".testCheminGenJar" description="cree fudaa_dico.jar"> - <property name="fdico.jar.file" value="${this.jar.dir}/fudaa_dico.jar" /> - <echo> + <target name="jar_fdico" depends=".testCheminGenJar" description="cree fudaa_dico.jar"> + <property name="fdico.jar.file" value="${this.jar.dir}/fudaa_dico.jar" /> + <echo> ---FUDAA: creation du jar ${this.jar.file} a partir de ${fudaaDist.classpath} </echo> - <mkdir dir="${this.jar.dir}" /> - <delete file="${fdico.jar.file}" /> - <genjar jarfile="${fdico.jar.file}"> - <classpath path="${fudaaDist.classpath}" /> - <manifest> - <attribute name="Main-Class" value="org.fudaa.fudaa.fdico.FDico" /> - </manifest> - <class name="org.fudaa.fudaa.fdico.FDico" /> - <classfilter> - <exclude name="org.fudaa.dodico.corba." /> - <exclude name="org.fudaa.dodico.usine." /> - </classfilter> - <resource> - <fileset dir="${fudaa.dist.classes.dir}"> - <patternset refid="ressources.fic" /> - <include name="org/fudaa/dodico/commun/" /> - <include name="com/memoire/dnd/" /> - <include name="com/memoire/bu/" /> - <include name="org/fudaa/ebli/ressource/" /> - <include name="org/fudaa/fudaa/ressource/" /> - <include name="org/fudaa/fudaa/dico/" /> - <include name="ghm/followgui/" /> - </fileset> - </resource> - </genjar> - </target> + <mkdir dir="${this.jar.dir}" /> + <delete file="${fdico.jar.file}" /> + <genjar jarfile="${fdico.jar.file}"> + <classpath path="${fudaaDist.classpath}" /> + <manifest> + <attribute name="Main-Class" value="org.fudaa.fudaa.fdico.FDico" /> + </manifest> + <class name="org.fudaa.fudaa.fdico.FDico" /> + <classfilter> + <exclude name="org.fudaa.dodico.corba." /> + <exclude name="org.fudaa.dodico.usine." /> + </classfilter> + <resource> + <fileset dir="${fudaa.dist.classes.dir}"> + <patternset refid="ressources.fic" /> + <include name="org/fudaa/dodico/commun/" /> + <include name="com/memoire/dnd/" /> + <include name="com/memoire/bu/" /> + <include name="org/fudaa/ebli/ressource/" /> + <include name="org/fudaa/fudaa/ressource/" /> + <include name="org/fudaa/fudaa/dico/" /> + <include name="ghm/followgui/" /> + </fileset> + </resource> + </genjar> + </target> </project> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2009-03-24 18:41:53
|
Revision: 4567 http://fudaa.svn.sourceforge.net/fudaa/?rev=4567&view=rev Author: hadouxad Date: 2009-03-24 18:41:34 +0000 (Tue, 24 Mar 2009) Log Message: ----------- - corrections prepro - ajout de la var env pour le jar de documentation pdf fudaa Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileFilter.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileFilter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileFilter.java 2009-03-24 18:03:47 UTC (rev 4566) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/com/memoire/bu/BuFileFilter.java 2009-03-24 18:41:34 UTC (rev 4567) @@ -71,6 +71,13 @@ } return false; } + + public boolean acceptExtension( String extension) { + + if ((extension != null) && (filters_.get(extension) != null)) return true; + return false; + } + public boolean accept(File _d, String _fn) { File f = new File(_fn); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java 2009-03-24 18:03:47 UTC (rev 4566) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/FudaaHelpPDFViewer.java 2009-03-24 18:41:34 UTC (rev 4567) @@ -133,6 +133,9 @@ BuPanel thumbscrollContainer; BuPanel conteneurPdf_; + public static String FUDAA_HOME="FUDAA_HOME"; + public static String nomRep="doc"; + public static String nomFichierJar="Fudaa-preproDocumentation.jar"; /** * path par defaut de la documentation @@ -148,9 +151,17 @@ public FudaaHelpPDFViewer(String pathFichierJar,FudaaCommonImplementation _ui,boolean useThumbs) { ui_=_ui; //-- tentative de verification que le jar existe bien a cet emplacement --// + String pathFudaa=System.getenv(FUDAA_HOME); - //TODO a decommenter virer le lien en dur, pour dev et test - pathFichierJar=PATH_JAR_DOCUM; + if(pathFudaa==null){ + ui_.error(FudaaResource.FUDAA.getString("Erreur, il n'existe pas de variable d'environnement "+FUDAA_HOME+"\n Pour faire fonctionner l'aide, il faut:\n - Cr\xE9er une variable d'environnement avec le chemin Fudaa," + + "\n - cr\xE9er un r\xE9pertoire "+nomRep+" \n - y d\xE9poser le jar de nom "+nomFichierJar)); + //-- rechercher le lien de la bvar environement FUDAA_HOME + pathFichierJar=PATH_JAR_DOCUM; + } + else + pathFichierJar=pathFudaa+File.separator+nomRep+File.separator+nomFichierJar; + patJarDocAide_=verifPathForJarIsCorrect(pathFichierJar); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java 2009-03-24 18:03:47 UTC (rev 4566) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrApplicationManager.java 2009-03-24 18:41:34 UTC (rev 4567) @@ -325,7 +325,7 @@ /** */ public FudaaExecEditor() { - super("prepro"); + super("Crue"); } @Override This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2009-07-15 13:42:34
|
Revision: 4909 http://fudaa.svn.sourceforge.net/fudaa/?rev=4909&view=rev Author: deniger Date: 2009-07-15 13:42:25 +0000 (Wed, 15 Jul 2009) Log Message: ----------- Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/.pmd branches/Prepro-0.92-SNAPSHOT/dodico/export-dodico.jardesc Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/Fudaa-crue/ Added: branches/Prepro-0.92-SNAPSHOT/.pmd =================================================================== --- branches/Prepro-0.92-SNAPSHOT/.pmd (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/.pmd 2009-07-15 13:42:25 UTC (rev 4909) @@ -0,0 +1,865 @@ +<?xml version="1.0" encoding="UTF-8"?> +<pmd> + <useProjectRuleSet>false</useProjectRuleSet> + <ruleSetFile>.ruleset</ruleSetFile> + <rules> + <rule> + <name>LooseCoupling</name> + <ruleset>Type Resolution Rules</ruleset> + </rule> + <rule> + <name>CloneMethodMustImplementCloneable</name> + <ruleset>Type Resolution Rules</ruleset> + </rule> + <rule> + <name>UnusedImports</name> + <ruleset>Type Resolution Rules</ruleset> + </rule> + <rule> + <name>SignatureDeclareThrowsException</name> + <ruleset>Type Resolution Rules</ruleset> + </rule> + <rule> + <name>EmptyCatchBlock</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyIfStmt</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyWhileStmt</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyTryBlock</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyFinallyBlock</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptySwitchStatements</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>JumbledIncrementer</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>ForLoopShouldBeWhileLoop</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryConversionTemporary</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>OverrideBothEqualsAndHashcode</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>DoubleCheckedLocking</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>ReturnFromFinallyBlock</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptySynchronizedBlock</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryReturn</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyStaticInitializer</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UnconditionalIfStatement</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyStatementNotInLoop</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>BooleanInstantiation</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryFinalModifier</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>CollapsibleIfStatements</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UselessOverridingMethod</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>ClassCastExceptionWithToArray</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>AvoidDecimalLiteralsInBigDecimalConstructor</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UselessOperationOnImmutable</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>MisplacedNullCheck</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>UnusedNullCheckInEquals</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>AvoidThreadGroup</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>BrokenNullCheck</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>BigIntegerInstantiation</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>AvoidUsingOctalValues</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>AvoidUsingHardCodedIP</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>CheckResultSet</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>AvoidMultipleUnaryOperators</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>EmptyInitializer</name> + <ruleset>Basic Rules</ruleset> + </rule> + <rule> + <name>IfStmtsMustUseBraces</name> + <ruleset>Braces Rules</ruleset> + </rule> + <rule> + <name>WhileLoopsMustUseBraces</name> + <ruleset>Braces Rules</ruleset> + </rule> + <rule> + <name>IfElseStmtsMustUseBraces</name> + <ruleset>Braces Rules</ruleset> + </rule> + <rule> + <name>ForLoopsMustUseBraces</name> + <ruleset>Braces Rules</ruleset> + </rule> + <rule> + <name>UnusedPrivateField</name> + <ruleset>Unused Code Rules</ruleset> + </rule> + <rule> + <name>UnusedLocalVariable</name> + <ruleset>Unused Code Rules</ruleset> + </rule> + <rule> + <name>UnusedPrivateMethod</name> + <ruleset>Unused Code Rules</ruleset> + </rule> + <rule> + <name>UnusedFormalParameter</name> + <ruleset>Unused Code Rules</ruleset> + </rule> + <rule> + <name>MoreThanOneLogger</name> + <ruleset>Java Logging Rules</ruleset> + </rule> + <rule> + <name>LoggerIsNotStaticFinal</name> + <ruleset>Java Logging Rules</ruleset> + </rule> + <rule> + <name>SystemPrintln</name> + <ruleset>Java Logging Rules</ruleset> + </rule> + <rule> + <name>AvoidPrintStackTrace</name> + <ruleset>Java Logging Rules</ruleset> + </rule> + <rule> + <name>NullAssignment</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>UnusedModifier</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AssignmentInOperand</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>DontImportSun</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>SuspiciousOctalEscape</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryParentheses</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>DefaultPackage</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>BooleanInversion</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AvoidUsingShortType</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AvoidUsingVolatile</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AvoidUsingNativeCode</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AvoidAccessibilityAlteration</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>DoNotCallGarbageCollectionExplicitly</name> + <ruleset>Controversial Rules</ruleset> + </rule> + <rule> + <name>AvoidDuplicateLiterals</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>StringInstantiation</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>StringToString</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>InefficientStringBuffering</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryCaseChange</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>UseStringBufferLength</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>AppendCharacterWithChar</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>ConsecutiveLiteralAppends</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>UseIndexOfChar</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>InefficientEmptyStringCheck</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>InsufficientStringBufferDeclaration</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>UselessStringValueOf</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>StringBufferInstantiationWithChar</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>UseEqualsToCompareStrings</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>AvoidStringBufferField</name> + <ruleset>String and StringBuffer Rules</ruleset> + </rule> + <rule> + <name>AvoidCatchingThrowable</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>SignatureDeclareThrowsException</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>ExceptionAsFlowControl</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>AvoidCatchingNPE</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>AvoidThrowingRawExceptionTypes</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>AvoidThrowingNullPointerException</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>AvoidRethrowingException</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>DoNotExtendJavaLangError</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>DoNotThrowExceptionInFinally</name> + <ruleset>Strict Exception Rules</ruleset> + </rule> + <rule> + <name>ReplaceVectorWithList</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>ReplaceHashtableWithMap</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>ReplaceEnumerationWithIterator</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>AvoidEnumAsIdentifier</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>AvoidAssertAsIdentifier</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>IntegerInstantiation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>ByteInstantiation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>ShortInstantiation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>LongInstantiation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>JUnit4TestShouldUseBeforeAnnotation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>JUnit4TestShouldUseAfterAnnotation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>JUnit4TestShouldUseTestAnnotation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>JUnit4SuitesShouldUseSuiteAnnotation</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>JUnitUseExpected</name> + <ruleset>Migration Rules</ruleset> + </rule> + <rule> + <name>LocalVariableCouldBeFinal</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>MethodArgumentCouldBeFinal</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>UseArrayListInsteadOfVector</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>SimplifyStartsWith</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>UseStringBufferForStringAppends</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>UseArraysAsList</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>AvoidArrayLoops</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryWrapperObjectCreation</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>AddEmptyString</name> + <ruleset>Optimization Rules</ruleset> + </rule> + <rule> + <name>MethodReturnsInternalArray</name> + <ruleset>Security Code Guidelines</ruleset> + </rule> + <rule> + <name>ArrayIsStoredDirectly</name> + <ruleset>Security Code Guidelines</ruleset> + </rule> + <rule> + <name>CouplingBetweenObjects</name> + <ruleset>Coupling Rules</ruleset> + </rule> + <rule> + <name>ExcessiveImports</name> + <ruleset>Coupling Rules</ruleset> + </rule> + <rule> + <name>LooseCoupling</name> + <ruleset>Coupling Rules</ruleset> + </rule> + <rule> + <name>DuplicateImports</name> + <ruleset>Import Statement Rules</ruleset> + </rule> + <rule> + <name>DontImportJavaLang</name> + <ruleset>Import Statement Rules</ruleset> + </rule> + <rule> + <name>UnusedImports</name> + <ruleset>Import Statement Rules</ruleset> + </rule> + <rule> + <name>ImportFromSamePackage</name> + <ruleset>Import Statement Rules</ruleset> + </rule> + <rule> + <name>TooManyStaticImports</name> + <ruleset>Import Statement Rules</ruleset> + </rule> + <rule> + <name>JUnitSpelling</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>TestClassWithoutTestCases</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryBooleanAssertion</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>UseAssertEqualsInsteadOfAssertTrue</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>UseAssertSameInsteadOfAssertTrue</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>UseAssertNullInsteadOfAssertTrue</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>SimplifyBooleanAssertion</name> + <ruleset>JUnit Rules</ruleset> + </rule> + <rule> + <name>ShortMethodName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>VariableNamingConventions</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>MethodNamingConventions</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>ClassNamingConventions</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>AbstractNaming</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>AvoidDollarSigns</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>MethodWithSameNameAsEnclosingClass</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>SuspiciousHashcodeMethodName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>SuspiciousConstantFieldName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>SuspiciousEqualsMethodName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>AvoidFieldNameMatchingTypeName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>AvoidFieldNameMatchingMethodName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>NoPackage</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>PackageCase</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>MisleadingVariableName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>BooleanGetMethodName</name> + <ruleset>Naming Rules</ruleset> + </rule> + <rule> + <name>NPathComplexity</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>ExcessiveMethodLength</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>ExcessiveParameterList</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>ExcessiveClassLength</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>CyclomaticComplexity</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>ExcessivePublicCount</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>TooManyFields</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>NcssMethodCount</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>NcssTypeCount</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>NcssConstructorCount</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>TooManyMethods</name> + <ruleset>Code Size Rules</ruleset> + </rule> + <rule> + <name>EmptyFinalizer</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>FinalizeOnlyCallsSuperFinalize</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>FinalizeOverloaded</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>FinalizeDoesNotCallSuperFinalize</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>FinalizeShouldBeProtected</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>AvoidCallingFinalize</name> + <ruleset>Finalizer Rules</ruleset> + </rule> + <rule> + <name>UseCorrectExceptionLogging</name> + <ruleset>Jakarta Commons Logging Rules</ruleset> + </rule> + <rule> + <name>ProperLogger</name> + <ruleset>Jakarta Commons Logging Rules</ruleset> + </rule> + <rule> + <name>MissingSerialVersionUID</name> + <ruleset>JavaBean Rules</ruleset> + </rule> + <rule> + <name>ProperCloneImplementation</name> + <ruleset>Clone Implementation Rules</ruleset> + </rule> + <rule> + <name>CloneThrowsCloneNotSupportedException</name> + <ruleset>Clone Implementation Rules</ruleset> + </rule> + <rule> + <name>CloneMethodMustImplementCloneable</name> + <ruleset>Clone Implementation Rules</ruleset> + </rule> + <rule> + <name>UseSingleton</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SimplifyBooleanReturns</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SimplifyBooleanExpressions</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SwitchStmtsShouldHaveDefault</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidDeeplyNestedIfStmts</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidReassigningParameters</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SwitchDensity</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>ConstructorCallsOverridableMethod</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AccessorClassGeneration</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>FinalFieldCouldBeStatic</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>CloseResource</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>NonStaticInitializer</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>DefaultLabelNotLastInSwitchStmt</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>NonCaseLabelInSwitchStatement</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>OptimizableToArrayCall</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>BadComparison</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>EqualsNull</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>ConfusingTernary</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>InstantiationToGetClass</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>IdempotentOperations</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SimpleDateFormatNeedsLocale</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>ImmutableField</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UseLocaleWithCaseConversions</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidProtectedFieldInFinalClass</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AssignmentToNonFinalStatic</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>MissingStaticMethodInNonInstantiatableClass</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidSynchronizedAtMethodLevel</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>MissingBreakInSwitch</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UseNotifyAllInsteadOfNotify</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidInstanceofChecksInCatchClause</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AbstractClassWithoutAbstractMethod</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SimplifyConditional</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>CompareObjectsWithEquals</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>PositionLiteralsFirstInComparisons</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UnnecessaryLocalBeforeReturn</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>NonThreadSafeSingleton</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UncommentedEmptyMethod</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UncommentedEmptyConstructor</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AvoidConstantsInterface</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UnsynchronizedStaticDateFormatter</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>PreserveStackTrace</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>UseCollectionIsEmpty</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>EmptyMethodInAbstractClassShouldBeAbstract</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>SingularField</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>ReturnEmptyArrayRatherThanNull</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>AbstractClassWithoutAnyMethod</name> + <ruleset>Design Rules</ruleset> + </rule> + <rule> + <name>TooFewBranchesForASwitchStatement</name> + <ruleset>Design Rules</ruleset> + </rule> + </rules> + <includeDerivedFiles>false</includeDerivedFiles> + <violationsAsErrors>true</violationsAsErrors> +</pmd> Added: branches/Prepro-0.92-SNAPSHOT/dodico/export-dodico.jardesc =================================================================== --- branches/Prepro-0.92-SNAPSHOT/dodico/export-dodico.jardesc (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/dodico/export-dodico.jardesc 2009-07-15 13:42:25 UTC (rev 4909) @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="ISO-8859-15" standalone="no"?> +<jardesc> + <jar path="C:/devel/fudaa/Fudaa-Crue/Fudaa-Crue root/dodico/lib/dodico.jar"/> + <options buildIfNeeded="true" compress="true" descriptionLocation="/dodico-crue/export-dodico.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="false" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/> + <storedRefactorings deprecationInfo="true" structuralOnly="false"/> + <selectedProjects/> + <manifest generateManifest="true" manifestLocation="" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true"> + <sealing sealJar="false"> + <packagesToSeal/> + <packagesToUnSeal/> + </sealing> + </manifest> + <selectedElements exportClassFiles="true" exportJavaFiles="false" exportOutputFolder="false"> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.mesure"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.mascaret"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.geodesie"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.metier.loi"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.loi"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.evenement"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.ef.decorator"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.ef.impl"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.planification"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.fortran"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.ef.interpolation"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.objet"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.probabilite"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.dunes.io"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.lido.conversion"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.interpolateur"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.casier"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.calageauto"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.metier.qualitedeau"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.lido"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.navmer"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.fichiers"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.navigation"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.metier.calageauto"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.dunes"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.ef.cubature"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.singularite"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.oscar"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.ef.operation"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.ef"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.metier"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.collection"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.metier.evenement"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.metier.casier"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.metier.singularite"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.commun"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.calcul"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.ef.serviceDunes"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.dico"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.qualitedeau"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.association"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.mathematiques"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.lido.conversion.hydro1d"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.olb"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.representation"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.hydraulique1d.metier.geometrie"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.boony"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.geometrie"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.lido.conversion.lido"/> + <javaElement handleIdentifier="=dodico/src<org.fudaa.dodico.dimduc"/> + </selectedElements> + <fatjar builder="org.eclipse.jdt.ui.plain_jar_builder" launchConfig=""/> +</jardesc> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |