From: <had...@us...> - 2009-05-07 00:00:08
|
Revision: 4730 http://fudaa.svn.sourceforge.net/fudaa/?rev=4730&view=rev Author: hadouxad Date: 2009-05-06 23:59:46 +0000 (Wed, 06 May 2009) Log Message: ----------- IHMS Modified Paths: -------------- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/test/AppCrueTest.java Added Paths: ----------- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueModeleBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueRunBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueSousModeleBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ChargerScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueComparaisonScenarioFille.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CruePanelFicheScenario.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CruePersistanceErrorManager.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueScenarioTreeManagerFille.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CruetransformationCrue9Fille.java trunk/soft/fudaa-crue/fudaa/src/main/java/view/ Removed Paths: ------------- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueModeleBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueScenarioBuilder.java trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueSousModeleBuilder.java Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/io/Crue10FileFormatFactory.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -86,7 +86,7 @@ new CrueXmlReaderWriterImpl<CrueDaoDRSO, CrueData>(CrueHelper.DRSO, new CrueConverterDRSO(), new CrueDaoStructureDRSO())); - private final static Crue10FileFormat<EMHproject> ETU = new Crue10FileFormat<EMHproject>( + private final static Crue10FileFormat<EMHproject> ETU = new Crue10FileFormat<EMHproject>(CrueHelper.ETU, new CrueXmlReaderWriterImpl<CrueDaoETU, EMHproject>(CrueHelper.ETU, new CrueConverterETU(), new CrueDaoStructureETU())); Modified: trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/dodico/src/main/java/org/fudaa/dodico/crue/metier/EMHScenario.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -39,6 +39,14 @@ */ protected List<FichierCrue> listeFichiersResultatsScenario_; + public List<FichierCrue> getListeFichiersResultatsScenario() { + return listeFichiersResultatsScenario_; + } + + public void setListeFichiersResultatsScenario(List<FichierCrue> listeFichiersResultatsScenario) { + this.listeFichiersResultatsScenario_ = listeFichiersResultatsScenario; + } + /** * Ajoute un Run . * @@ -46,7 +54,9 @@ * @return */ public boolean addRunToScenario(final EMHRun run) { - if (listeRuns_ == null) listeRuns_ = new ArrayList<EMHRun>(); + if (listeRuns_ == null) { + listeRuns_ = new ArrayList<EMHRun>(); + } return listeRuns_.add(run); } @@ -62,7 +72,7 @@ } /** - * Retourne true si le fichier existe en base r�f�renc� par son id. + * Retourne true si le fichier existe en base reference par son id. * * @param id * @return @@ -89,7 +99,9 @@ * @return */ public boolean addFichierDonneesToScenario(final FichierCrue fichier) { - if (listeFichiersResultatsScenario_ == null) listeFichiersResultatsScenario_ = new ArrayList<FichierCrue>(); + if (listeFichiersResultatsScenario_ == null) { + listeFichiersResultatsScenario_ = new ArrayList<FichierCrue>(); + } return listeFichiersResultatsScenario_.add(fichier); } @@ -104,7 +116,9 @@ * @return */ public boolean addModeleDonneesToScenario(final EMHModeleBase modele) { - if (gestionModele_ == null) gestionModele_ = new EMHModeleEnchainement(); + if (gestionModele_ == null) { + gestionModele_ = new EMHModeleEnchainement(); + } return gestionModele_.ajouteModele(modele); } @@ -120,8 +134,10 @@ * @return */ public static EMHScenario findById(final String nomRef, final List<EMHScenario> listeFiles) { - if (listeFiles != null) for (final EMHScenario f : listeFiles) { - if (f.id_.equals(nomRef)) return f; + if (listeFiles != null) { + for (final EMHScenario f : listeFiles) { + if (f.id_.equals(nomRef)) { return f; } + } } return null; } Modified: trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties =================================================================== --- trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/dodico/src/main/resources/org/fudaa/dodico/crue/io/adrienMessages.properties 2009-05-06 23:59:46 UTC (rev 4730) @@ -4,4 +4,6 @@ io.crue9.nametoolong.error = Erreur le nom {nom} est trop long pour la taille autorisee des lignes de format Crue 9. Le nom a ete concatene. io.crue9.noeudAmontvide.error = Erreur, il n'existe pas de noeud amont pour la branche {nom} io.crue9.noeudAvalvide.error = Erreur, il n'existe pas de noeud aval pour la branche {nom} -io.crue9.brancheNotSupportedInCrue9.error = Erreur, la branche n'est pas support\xE9 au format Crue 9, elle ne sera pas prise en compte. \ No newline at end of file +io.crue9.brancheNotSupportedInCrue9.error = Erreur, la branche n'est pas support\xE9 au format Crue 9, elle ne sera pas prise en compte. +io.etu.typeNotDefined = Erreur, le type du sc\xE9nario (version Crue) est introuvable + Copied: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueModeleBuilder.java (from rev 4697, trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueModeleBuilder.java) =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueModeleBuilder.java (rev 0) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueModeleBuilder.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -0,0 +1,79 @@ +package org.fudaa.fudaa.crue.builder; + +import java.util.List; + +import javax.swing.BorderFactory; +import javax.swing.DefaultListModel; + +import org.fudaa.dodico.crue.metier.EMHModeleBase; +import org.fudaa.dodico.crue.metier.FichierCrue; +import org.fudaa.ebli.visuallibrary.graphe.GrapheCellRenderer; +import org.fudaa.fudaa.crue.common.FCrueResource; + +import com.memoire.bu.BuIcon; +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuList; + +/** + * G�re un modele crue. Un modele contient plusieurs sous mod�le. + * + * @author Adrien Hadoux + */ +public class CrueModeleBuilder { + + /** + * Icone propre aux scenarios + */ + public static BuIcon iconeModele_ = FCrueResource.CRUE.getIcon("crystal22_toutselectionner.png"); + + /** + * Construit une bu list avec l'ensemble des scenarios du logiciel + * + * @param baseScenarios + * @return + */ + public static BuList buildListModele(final List<EMHModeleBase> baseModeles, final String title) { + final DefaultListModel model = new DefaultListModel(); + if (baseModeles != null) { + for (final EMHModeleBase modele : baseModeles) { + final BuLabel label = new BuLabel(iconeModele_); + label.setText(modele.getId()); + model.addElement(label); + } + } + final BuList liste = new BuList(model); + liste.setCellRenderer(new GrapheCellRenderer()); + liste.setBorder(BorderFactory.createTitledBorder(title)); + return liste; + } + + /** + * Construit une bu list avec l'ensemble des fichiers + * + * @param baseScenarios + * @return + */ + public static BuList buildListFichiers(final List<FichierCrue> baseModeles, final String title) { + final DefaultListModel model = new DefaultListModel(); + if (baseModeles != null) { + for (final FichierCrue modele : baseModeles) { + final BuLabel label = new BuLabel(iconeModele_); + label.setText(modele.getId()); + model.addElement(label); + } + } + final BuList liste = new BuList(model); + liste.setCellRenderer(new GrapheCellRenderer()); + liste.setBorder(BorderFactory.createTitledBorder(title)); + return liste; + } + + public static BuList buildListModele(final List<EMHModeleBase> baseModeles) { + return buildListModele(baseModeles, FCrueResource.getS("Modeles disponibles")); + } + + public static BuList buildListSousModele(final List<EMHModeleBase> baseModeles) { + return buildListModele(baseModeles, FCrueResource.getS("Sous Modeles disponibles")); + } + +} Property changes on: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueModeleBuilder.java ___________________________________________________________________ Added: svn:mergeinfo + Added: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueRunBuilder.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueRunBuilder.java (rev 0) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueRunBuilder.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -0,0 +1,46 @@ +package org.fudaa.fudaa.crue.builder; + +import org.fudaa.dodico.crue.metier.EMHModeleRun; +import org.fudaa.dodico.crue.metier.EMHRun; +import org.fudaa.dodico.crue.metier.EMHScenario; +import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; +import org.jdesktop.swingx.treetable.DefaultTreeTableModel; + +/** + * Builder de composants graphiques pour le tree de crue. + * + * @author Adrien Hadoux + */ +public class CrueRunBuilder { + + /** + * Construitle tree des runs a partir du scenario donné. les runs affichent les modeles et pour chaque modele les + * fichiers utilisés. + * + * @param baseScenarios + * @return modele du tree. + */ + public static DefaultTreeTableModel buildTreeRun(EMHScenario scenario) { + final DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode("root"); + if (scenario.getListeRuns() != null) { + for (final EMHRun run : scenario.getListeRuns()) { + DefaultMutableTreeTableNode nodeRun = new DefaultMutableTreeTableNode(run.getId()); + root.add(nodeRun); + + // -- on ajoute les runs associés au scénario--// + + if (run.getListeModelesRuns() != null) { + for (EMHModeleRun modeleRun : run.getListeModelesRuns()) { + nodeRun.add(new DefaultMutableTreeTableNode(modeleRun.getModeleRun().getId())); + + } + } + + } + } + DefaultTreeTableModel modeleTree = new DefaultTreeTableModel(); + modeleTree.setRoot(root); + + return modeleTree; + } +} Copied: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java (from rev 4697, trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueScenarioBuilder.java) =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java (rev 0) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -0,0 +1,121 @@ +package org.fudaa.fudaa.crue.builder; + +import java.util.List; + +import javax.swing.BorderFactory; +import javax.swing.DefaultListModel; + +import org.fudaa.dodico.crue.metier.EMHModeleRun; +import org.fudaa.dodico.crue.metier.EMHRun; +import org.fudaa.dodico.crue.metier.EMHScenario; +import org.fudaa.dodico.crue.metier.EMHproject; +import org.fudaa.ebli.visuallibrary.graphe.GrapheCellRenderer; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeModeleRun; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeRun; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeRunCourant; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeScenario; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeScenarioCourant; +import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeScenarioModel; +import org.fudaa.fudaa.crue.common.FCrueResource; +import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; + +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuList; + +/** + * G�re les interfaces relative � un sc�nario Crue. G�re le lien entre un EMHScenario m�tier et l'interface propos� par + * les actions sc�narios. + * + * @author Adrien Hadoux + */ +public class CrueScenarioBuilder { + + /** + * Construit une bu list avec l'ensemble des sc�narios du logiciel + * + * @param baseScenarios + * @return + */ + public static BuList buildListScenario(final List<EMHScenario> baseScenarios) { + final DefaultListModel model = new DefaultListModel(); + if (baseScenarios != null) { + for (final EMHScenario scenario : baseScenarios) { + final BuLabel label = new BuLabel(CrueTreeProject.iconeScenario_); + label.setText(scenario.getId()); + model.addElement(label); + } + } + final BuList liste = new BuList(model); + liste.setCellRenderer(new GrapheCellRenderer()); + liste.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Scénarios disponibles"))); + return liste; + } + + /** + * Construit une bu list avec l'ensemble des sc�narios du logiciel + * + * @param baseScenarios + * @return modele du tree. + */ + public static TreeScenarioModel buildTreeScenario(EMHproject projet) { + final DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode("root"); + if (projet.getListeScenarios() != null) { + for (final EMHScenario scenario : projet.getListeScenarios()) { + TreeNodeScenario nodeScenar = new TreeNodeScenario(scenario); + if (projet.getScenarioCourant() != null && projet.getScenarioCourant() == scenario) { + nodeScenar = new TreeNodeScenarioCourant(scenario); + root.add(nodeScenar); + } else { + + root.add(nodeScenar); + } + // -- on ajoute les runs associés au scénario--// + + if (scenario.getListeRuns() != null) { + for (EMHRun run : scenario.getListeRuns()) { + TreeNodeRun nodeRun = new TreeNodeRun(run); + + if (scenario.getRunCourant() != null && scenario.getRunCourant() == run) { + nodeRun = new TreeNodeRunCourant(run); + } + + nodeScenar.add(nodeRun); + + if (run.getListeModelesRuns() != null) { + for (EMHModeleRun modele : run.getListeModelesRuns()) { + TreeNodeModeleRun nodemodele = new TreeNodeModeleRun(modele); + nodeRun.add(nodemodele); + } + } + + } + } + + } + } + TreeScenarioModel modeleTree = new TreeScenarioModel(projet); + modeleTree.setRoot(root); + + return modeleTree; + } + + /** + * G�n�re l'encart du scenario courant + * + * @param scenarCourant + * @return + */ + public static BuList buildListScenarioCourant(final EMHScenario scenarCourant) { + final DefaultListModel model = new DefaultListModel(); + if (scenarCourant == null) { return null; } + final BuLabel label = new BuLabel(CrueTreeProject.iconeScenario_Courant); + label.setText(scenarCourant.getId()); + model.addElement(label); + + final BuList liste = new BuList(model); + liste.setCellRenderer(new GrapheCellRenderer()); + liste.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Scénario courant"))); + return liste; + } + +} Property changes on: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java ___________________________________________________________________ Added: svn:mergeinfo + Copied: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueSousModeleBuilder.java (from rev 4697, trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueSousModeleBuilder.java) =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueSousModeleBuilder.java (rev 0) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueSousModeleBuilder.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -0,0 +1,10 @@ +package org.fudaa.fudaa.crue.builder; + +/** + * G�re un sous mod�le crue. + * + * @author Adrien Hadoux + */ +public class CrueSousModeleBuilder { + +} Property changes on: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueSousModeleBuilder.java ___________________________________________________________________ Added: svn:mergeinfo + Added: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java (rev 0) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -0,0 +1,255 @@ +package org.fudaa.fudaa.crue.builder; + +import java.awt.Component; + +import javax.swing.JTree; +import javax.swing.tree.DefaultTreeCellRenderer; + +import org.fudaa.dodico.crue.metier.EMHModeleRun; +import org.fudaa.dodico.crue.metier.EMHRun; +import org.fudaa.dodico.crue.metier.EMHScenario; +import org.fudaa.dodico.crue.metier.EMHproject; +import org.fudaa.fudaa.crue.common.FCrueResource; +import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; +import org.jdesktop.swingx.treetable.DefaultTreeTableModel; + +import com.memoire.bu.BuIcon; + +/** + * Gere les composants du tree principal de l'appli. + * + * @author Adrien Hadoux + */ +public class CrueTreeProject { + + public final static String unknowInfo = "N/A"; + + /** + * Node du tree reservé aux objets de type scenario = { "Scenario", "Type", "Commentaire Scenario", + * "Date modification" }; + * + * @author Adrien Hadoux + */ + public static class TreeNodeScenario extends DefaultMutableTreeTableNode { + EMHScenario s; + + /** + * @param scenario + */ + public TreeNodeScenario(EMHScenario scenario) { + super(scenario); + s = scenario; + + } + + @Override + public Object getValueAt(int column) { + if (column == 0) { + return s.getId(); + } else if (column == 1) { + if (s.getInfosVersions() != null && s.getInfosVersions().getType() != null) { + return s.getInfosVersions().getType(); + } else { + return unknowInfo; + } + } else if (column == 2) { + if (s.getInfosVersions() != null && s.getInfosVersions().getCommentaire() != null) { + return s.getInfosVersions().getCommentaire(); + } else { + return unknowInfo; + } + } else if (column == 3) { + if (s.getInfosVersions() != null && s.getInfosVersions().getDateDerniereModif() != null + && s.getInfosVersions().getAuteurDerniereModif() != null) { + return s.getInfosVersions().getDateDerniereModif() + FCrueResource.getS("par") + " " + + s.getInfosVersions().getAuteurDerniereModif(); + } else { + return unknowInfo; + } + } else { + return ""; + } + + } + } + + /** + * Node du tree reservé aux objets de type scenario courant + * + * @author Adrien Hadoux + */ + public static class TreeNodeScenarioCourant extends TreeNodeScenario { + /** + * @param scenario + */ + public TreeNodeScenarioCourant(EMHScenario scenario) { + super(scenario); + + } + + } + + /** + * Node du tree reservé aux objets de type run + * + * @author Adrien Hadoux + */ + public static class TreeNodeRun extends DefaultMutableTreeTableNode { + EMHRun r; + + public TreeNodeRun(EMHRun run) { + super(run); + r = run; + } + + @Override + public Object getValueAt(int column) { + if (column == 0) { + return r.getId(); + } else { + return ""; + } + } + } + + /** + * Node du tree reservé aux objets de type run courant + * + * @author Adrien Hadoux + */ + public static class TreeNodeRunCourant extends TreeNodeRun { + public TreeNodeRunCourant(EMHRun run) { + super(run); + } + } + + /** + * Node du tree reservé aux objets de type scenario + * + * @author Adrien Hadoux + */ + public static class TreeNodeModeleRun extends DefaultMutableTreeTableNode { + public TreeNodeModeleRun(EMHModeleRun runModele) { + super(runModele); + } + } + + /** + * Icone propre aux scenarios + */ + public static BuIcon iconeScenario_ = FCrueResource.CRUE.getIcon("crystal_preference.png"); + public static BuIcon iconeScenario_Courant = FCrueResource.CRUE.getIcon("crystal_oui.png"); + public static BuIcon iconeRun_ = FCrueResource.CRUE.getIcon("crystal_tache.png"); + public static BuIcon iconeRun_Courant = FCrueResource.CRUE.getIcon("crystal_oui.png"); + + /** + * Renderer de l'arbre des scenarios. + * + * @author Adrien Hadoux + */ + public static class ScenarioTreeRenderer extends DefaultTreeCellRenderer { + /** + * + */ + public ScenarioTreeRenderer() { + + } + + @Override + public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, + boolean leaf, int row, boolean hasFocus) { + + super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); + if (value instanceof TreeNodeScenarioCourant) { + setIcon(iconeScenario_Courant); + setToolTipText("Scénario"); + + } else if (value instanceof TreeNodeScenario) { + setIcon(iconeScenario_); + setToolTipText("Scénario"); + } else if (value instanceof TreeNodeRunCourant) { + setIcon(iconeRun_Courant); + } else if (value instanceof TreeNodeRun) { + setIcon(iconeRun_); + } + if (value instanceof DefaultMutableTreeTableNode) { + setText(((DefaultMutableTreeTableNode) value).getValueAt(0).toString()); + } + return this; + } + + } + + /** + * Modele de tree pour le projet CNR. + * + * @author Adrien Hadoux + */ + public static class TreeScenarioModel extends DefaultTreeTableModel { + String[] titre_; + EMHproject projet; + + @Override + public Class<?> getColumnClass(final int columnIndex) { + + switch (columnIndex) { + case 0: + return String.class; + case 1: + return String.class; + } + return null; + } + + // -- data correspondant au x donné --// + double[] dataY_ = new double[0]; + + /** + * @param p + */ + public TreeScenarioModel(EMHproject p) { + String[] val = { "Scenario", "Type", "Commentaire Scenario", "Date modification" }; + titre_ = val; + projet = p; + } + + @Override + public int getColumnCount() { + + return titre_.length; + } + + @Override + public boolean isCellEditable(Object _node, int _column) { + return false; + } + + @Override + public String getColumnName(int _columnIndex) { + return titre_[_columnIndex]; + } + + public int getRowCount() { + return projet.getListeScenarios().size(); + + } + + @Override + public Object getValueAt(Object node, int column) { + Object res = new DefaultMutableTreeTableNode("n/a"); + if (node instanceof DefaultMutableTreeTableNode) { + + return ((DefaultMutableTreeTableNode) node).getValueAt(column); + + } + return res; + } + + public DefaultMutableTreeTableNode getTreeNode(int i) { + return (DefaultMutableTreeTableNode) getRoot().getChildAt(i); + + } + + } + +} Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/CrueCommomImplementation.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -9,16 +9,23 @@ import org.fudaa.fudaa.commun.FudaaHelpPDFViewer; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; +import org.fudaa.fudaa.crue.builder.CrueModeleBuilder; +import org.fudaa.fudaa.crue.builder.CrueScenarioBuilder; import org.fudaa.fudaa.crue.explorer.CrueLauncher; -import org.fudaa.fudaa.crue.projet.CrueModeleBuilder; import org.fudaa.fudaa.crue.projet.CrueProjet; -import org.fudaa.fudaa.crue.projet.CrueScenarioBuilder; +import org.fudaa.fudaa.crue.view.CrueComparaisonScenarioFille; +import org.fudaa.fudaa.crue.view.CrueScenarioTreeManagerFille; +import org.fudaa.fudaa.crue.view.CruetransformationCrue9Fille; +import org.jdesktop.swingx.JXTreeTable; import com.memoire.bu.BuColumn; import com.memoire.bu.BuInformationsDocument; import com.memoire.bu.BuInformationsSoftware; +import com.memoire.bu.BuInternalFrame; import com.memoire.bu.BuList; import com.memoire.bu.BuMainPanel; +import com.memoire.bu.BuMenu; +import com.memoire.bu.BuMenuBar; import com.memoire.bu.BuPanel; import com.memoire.bu.BuPreferences; import com.memoire.bu.BuPrinter; @@ -41,7 +48,13 @@ protected BuList scenarioCourant_ = null; protected BuList listeModeles_ = null; protected BuList listeSousModeles_ = null; + /** + * Tree contenant l'arborescence du projet. + */ + protected JXTreeTable treeScenario = null; + + /** * Projet Crue. */ protected CrueProjet crueProjet_; @@ -51,7 +64,7 @@ idCrue_.name = "FUDAA CRUE"; idCrue_.version = "0.1"; idCrue_.organization = "GENESIS"; - idCrue_.author = "Fr\xE9d\xE9ric Deniger, Adrien Hadoux"; + idCrue_.author = "Frederic Deniger, Adrien Hadoux"; idCrue_.contact = "a.h...@ge..."; idCrue_.date = FuLib.date(); BuPrinter.INFO_LOG = CrueLauncher.infoCrue_; @@ -68,7 +81,10 @@ } /** - * Initialisation de l'interface avec les donn\xE9es m\xE9tier + * Initialisation de l'interface avec les donnees metier CNR. + * + * @param project + * @param f */ public void init(final EMHproject project, final File f) { @@ -79,6 +95,7 @@ } if (project.getListeScenarios() != null) { + listeScenarios_ = CrueScenarioBuilder.buildListScenario(project.getListeScenarios()); } @@ -94,6 +111,9 @@ } + // -- creation de la barre de menu des fonctionnalités --// + final BuMenuBar mb = getMainMenuBar(); + mb.add(buildProjectMenu()); // -- construction de'application --// rebuildApplication(f); @@ -106,6 +126,35 @@ } + /** + * Construit le menu de base du projet CNR. + * + * @param project + * @return + */ + private BuMenu buildProjectMenu() { + BuMenu menu = new BuMenu(BuResource.BU.getString("Projet"), "MENUPROJET"); + menu.addSeparator(FCrueResource.getS("Projet")); + menu.addMenuItem(FCrueResource.getS("Etude"), "GESTIONETUDE", FCrueResource.CRUE.getIcon("crystal_message.png"), + this); + menu.addMenuItem(FCrueResource.getS("Gestion scenarios"), "GESTIONSCENARIOS", FCrueResource.CRUE + .getIcon("crystal_document.png"), this); + + menu.addSeparator(FCrueResource.getS("Operations")); + menu.addMenuItem(FCrueResource.getS("Comparaison"), "GESTIONCOMPARAISON", FCrueResource.CRUE + .getIcon("crystal_controler.png"), this); + + menu.addMenuItem(FCrueResource.getS("Crue 9 <=> Crue 10"), "GESTIONTRANSFORMATION", FCrueResource.CRUE + .getIcon("crystal_controler.png"), this); + + return menu; + } + + /** + * Reconstruit l'application a partir du fichier etu choisi. + * + * @param fichierEtu + */ public void rebuildApplication(final File fichierEtu) { getMainPanel().getRightColumn().removeAll(); this.setTitle(fichierEtu.getAbsolutePath()); @@ -129,36 +178,59 @@ lc.setBorder(null); // rc.setBorder(new EmptyBorder(0,2,0,2)); taches_ = new BuTaskView(); - taches_.setToolTipText(FudaaLib.getS("Les t\xE2ches en cours"));// a revoir + taches_.setToolTipText(FudaaLib.getS("Les taches en cours"));// a revoir final BuScrollPane sp = new BuScrollPane(taches_); sp.setPreferredSize(new Dimension(150, 80)); - sp.setToolTipText(FudaaLib.getS("Les t\xE2ches en cours")); - rc.addToggledComponent(BuResource.BU.getString("T\xE2ches"), "TOGGLE_TACHE", BuResource.BU.getToolIcon("tache"), sp, - true, this).setToolTipText(FudaaLib.getS("Cacher/Afficher les t\xE2ches")); + sp.setToolTipText(FudaaLib.getS("Les taches en cours")); + rc.addToggledComponent(BuResource.BU.getString("Taches"), "TOGGLE_TACHE", BuResource.BU.getToolIcon("tache"), sp, + true, this).setToolTipText(FudaaLib.getS("Cacher/Afficher les taches")); mp.setTaskView(taches_); } /** * Re-Construit le panel de droite (ou gauche) avec les listes remplies de scenario, modele et sous modeles dispos. */ + // TODO laisser le choix du visuel a la CNR et afficher le contenu qui leur convient le mieux. public void rebuildPanelRight() { // -- panel scenario --// - final BuPanel panelScenario = new BuPanel(new GridLayout(2, 1, 2, 5)); - if (scenarioCourant_ != null) panelScenario.add(scenarioCourant_); - if (listeScenarios_ != null) panelScenario.add(listeScenarios_); + final BuPanel panelScenario = new BuPanel(new GridLayout(2, 1, 2, 5) /* new BorderLayout() */); + if (crueProjet_ != null) { + scenarioCourant_ = CrueScenarioBuilder.buildListScenarioCourant(crueProjet_.getProject().getScenarioCourant()); + } + panelScenario.add(scenarioCourant_); + if (listeScenarios_ != null) { + panelScenario.add(listeScenarios_); + } + // if (listeScenarios_ != null) { + // // -- affichage du panel de gauche --// + // // final BuPanel panelTreeScenario = new BuPanel(new BorderLayout()); + // panelScenario.add(treeScenario.getTableHeader(), BorderLayout.NORTH); + // panelScenario.add(treeScenario, BorderLayout.CENTER); + // + // // panelScenario.add(listeScenarios_); + // } + final BuPanel panelModeles = new BuPanel(new GridLayout(2, 1, 2, 5)); - if (listeModeles_ != null) panelModeles.add(listeModeles_); - if (listeSousModeles_ != null) panelModeles.add(listeSousModeles_); + if (listeModeles_ != null) { + panelModeles.add(listeModeles_); + } + if (listeSousModeles_ != null) { + panelModeles.add(listeSousModeles_); + } // -- assemblages des informations sur le panel de composants--// - getMainPanel().getRightColumn().addToggledComponent(BuResource.BU.getString("Sc\xE9narios"), "SCENARIOS", + getMainPanel().getRightColumn().addToggledComponent(BuResource.BU.getString("Scenarios"), "SCENARIOS", panelScenario, this); - getMainPanel().getRightColumn().addToggledComponent(BuResource.BU.getString("Mod\xE8les"), "MODELES", panelModeles, + getMainPanel().getRightColumn().addToggledComponent(BuResource.BU.getString("Modeles"), "MODELES", panelModeles, this); + // getMainPanel().getRightColumn().addToggledComponent(BuResource.BU.getString("Vue Scenarios"), "SCENARIOSTREE", + // panelTreeScenario, this); + getMainPanel().getRightColumn().revalidate(); + // getMainPanel().getLeftColumn().revalidate(); } @Override @@ -199,6 +271,15 @@ this.addInternalFrame(frameHelpPDF_); } + public CrueScenarioTreeManagerFille scenarioFille = null; + + public void addScenarioManagerFille() { + if (scenarioFille == null) { + scenarioFille = new CrueScenarioTreeManagerFille(crueProjet_); + } + this.addInternalFrame(scenarioFille); + } + @Override public void actionPerformed(final ActionEvent _evt) { final String action = _evt.getActionCommand(); @@ -207,10 +288,27 @@ displayHelpPDF(getInformationsSoftware().baseManUrl()); } else if (action.equals("AIDE_INDEX")) { displayHelp(getInformationsSoftware().baseManUrl()); - } else { + } else + + if (action.equals("GESTIONSCENARIOS")) { + // -- ouverture de l'interface de gestion des scenarios --// + addScenarioManagerFille(); + } else if (action.equals("GESTIONETUDE")) { + + BuInternalFrame inframe = new BuInternalFrame(); + inframe.getContentPane().add(crueProjet_.createInFosProjectPanel()); + inframe.setTitle(FCrueResource.getS("Infos Etude")); + inframe.setSize(400, 150); + this.addInternalFrame(inframe); + } else if (action.equals("GESTIONCOMPARAISON")) { + this.addInternalFrame(new CrueComparaisonScenarioFille()); + } else if (action.equals("GESTIONTRANSFORMATION")) { + this.addInternalFrame(new CruetransformationCrue9Fille(crueProjet_)); + } + + { super.actionPerformed(_evt); } } - } Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/common/FCrueResource.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -41,7 +41,7 @@ @Override public BuIcon getIcon(final String val) { - return FCrueResource.CRUE.getIcon(val); + return BuResource.BU.getIcon(val); } // public static String getMeshName() { Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueApplicationManager.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -479,7 +479,7 @@ */ public boolean isCrueFormat(final File _file) { final CustomFileFormat format = findCrueFormat(_file); - return format != null; + return format != null || _file.getName().contains("etu.xml"); } /** Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/explorer/CrueSupervisorImplementation.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -82,7 +82,7 @@ r.addMenuItem(BuResource.BU.getString("Licence..."), "TEXTE_LICENCE", true); r.addSeparator(); r.addMenuItem(BuResource.BU.getString("Site WWW"), "WWW_ACCUEIL", true); - r.addMenuItem(BuResource.BU.getString("Mise \xE0 jour"), "MAJ", true); + r.addMenuItem(BuResource.BU.getString("Mise � jour"), "MAJ", true); // TrLib.addJavawsForJnlp(r); r.addMenuItem(FCrueResource.getS("Soumettre un commentaire"), "SEND_COMMENT", BuResource.BU.getIcon("envoyer"), true); @@ -119,7 +119,7 @@ public BuMenu buildEdition(final ActionListener _l) { final BuMenu r = new BuMenu(BuResource.BU.getString("Edition"), "MENU_EDITION"); r.setIcon(null); - r.addMenuItem(BuResource.BU.getString("Pr\xE9f\xE9rences"), "PREFERENCE", true, KeyEvent.VK_F2).addActionListener(_l); + r.addMenuItem(BuResource.BU.getString("Pr�f�rences"), "PREFERENCE", true, KeyEvent.VK_F2).addActionListener(_l); r.addMenuItem(FudaaLib.getS("Modifier les applications externes"), "MANAGER", BuResource.BU.getIcon("aucun"), true) .addActionListener(_l); addConsoleMenu(r).addActionListener(_l); @@ -173,7 +173,9 @@ buildMainPanel_ = false; super.init(); - if (this.appliMng_ == null) this.appliMng_ = new CrueApplicationManager(launcher_); + if (this.appliMng_ == null) { + this.appliMng_ = new CrueApplicationManager(launcher_); + } explorer_ = new CrueExplorer(this, this.appliMng_); explorer_.setBorder(BorderFactory.createEmptyBorder(10, 5, 5, 5)); @@ -182,12 +184,12 @@ content_.revalidate(); main_toolbar_.removeAll(); BuToolButton it = new BuToolButton(FCrueResource.CRUE.getToolIcon("bookmark-add")); - it.setToolTipText(FudaaLib.getS("Ajouter le r\xE9pertoire courant aux favoris")); + it.setToolTipText(FudaaLib.getS("Ajouter le repertoire courant aux favoris")); it.setActionCommand("ADD_FAVORITE"); it.addActionListener(this); main_toolbar_.add(it); it = new BuToolButton(BuResource.BU.getToolIcon("rafraichir")); - it.setToolTipText(BuResource.BU.getString("Rafra\xEEchir")); + it.setToolTipText(BuResource.BU.getString("Rafraichir")); it.setActionCommand("RAFRAICHIR"); it.addActionListener(explorer_); main_toolbar_.add(it); @@ -210,7 +212,7 @@ // // it.setAction(explorer_.getAppliManager().getEditorExec().getAction()); // it.setActionCommand("PREPRO"); - // it.setToolTipText(CrueRessource.getS("Lancer l'\xE9diteur de projet hydraulique")); + // it.setToolTipText(CrueRessource.getS("Lancer l'�diteur de projet hydraulique")); // it.setText(CtuluLibString.EMPTY_STRING); // main_toolbar_.add(it); it = new BuToolButton(); Added: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ChargerScenario.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ChargerScenario.java (rev 0) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/ChargerScenario.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -0,0 +1,133 @@ +package org.fudaa.fudaa.crue.projet; + +import java.awt.event.ActionEvent; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.dodico.crue.metier.EMHScenario; +import org.fudaa.dodico.crue.metier.emh.CrueData; +import org.fudaa.dodico.crue.metier.emh.CrueDataImpl; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.fudaa.crue.common.CrueCommomImplementation; +import org.fudaa.fudaa.crue.common.FCrueResource; + +/** + * Classe qui se charge de charger en memoire un scénario donné. + * + * @author Adrien Hadoux + */ +public class ChargerScenario { + /** + * @author Adrien Hadoux + */ + public static class CrueActionChargerScenario extends EbliActionSimple { + /** + * + */ + private static final long serialVersionUID = 7682734169100306919L; + + EMHScenario scenario; + + CrueProjet projet; + CrueCommomImplementation impl; + + /** + * @param scenario + * @param projet + * @param impl + */ + public CrueActionChargerScenario(EMHScenario scenario, CrueProjet projet) { + super(FCrueResource.getS("Charger Scénario en mémoire"), FCrueResource.CRUE.getIcon("crystal_ouvrir.png"), + "SCENARIOCHARGER"); + this.projet = projet; + this.scenario = scenario; + this.impl = projet.getImpl(); + } + + @Override + public void actionPerformed(ActionEvent _e) { + if (impl.question(FCrueResource.getS("Chargement"), FCrueResource + .getS("Etes-vous sur de vouloir charger ce scénario courant?"))) { + if (scenario != null) { + ChargerScenario algo = new ChargerScenario(projet, scenario); + algo.compute(); + } + + } + } + + } + + EMHScenario scenario; + + CrueProjet projet; + + /** + * @param projet + * @param scenario + */ + public ChargerScenario(CrueProjet projet, EMHScenario scenario) { + super(); + this.projet = projet; + this.scenario = scenario; + } + + /** + * Realise le calcul. + * + * @return + */ + public CrueData compute() { + + projet.managerError.clear(); + CtuluAnalyze analyzer = projet.managerError.getAnalyser(); + + // -- detection crue 9 ou 10 --// + if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) { + + String type = scenario.getInfosVersions().getType().toUpperCase(); + + if (type.contains("9")) { + return computeCrue9(analyzer); + } else { + return computeCrue10(analyzer); + } + + } else { + analyzer.addError("io.etu.typeNotDefined"); + return null; + } + + } + + /** + * Calcul le scenario de type crue 9 + * + * @return + */ + public CrueData computeCrue9(CtuluAnalyze analyzer) { + CrueData res = new CrueDataImpl(); + + // -- recuperation du fichier DC --// + if (scenario.getRunCourant() != null) { + // scenario.getRunCourant().setListeModelesRuns(listeModelesRuns) + // TODO continuer + + } + projet.managerError.showDialog(projet.getImpl(), FCrueResource.getS("Résultats du Chargement scénario")); + return res; + } + + /** + * calcul le scenario de type crue 10 + * + * @return + */ + public CrueData computeCrue10(CtuluAnalyze analyzer) { + CrueData res = new CrueDataImpl(); + // TODO continuer + + projet.managerError.showDialog(projet.getImpl(), FCrueResource.getS("Résultats du Chargement scénario")); + return res; + } + +} Deleted: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueModeleBuilder.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueModeleBuilder.java 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueModeleBuilder.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -1,57 +0,0 @@ -package org.fudaa.fudaa.crue.projet; - -import java.util.List; - -import javax.swing.BorderFactory; -import javax.swing.DefaultListModel; - -import org.fudaa.dodico.crue.metier.EMHModeleBase; -import org.fudaa.ebli.visuallibrary.graphe.GrapheCellRenderer; -import org.fudaa.fudaa.crue.common.FCrueResource; - -import com.memoire.bu.BuIcon; -import com.memoire.bu.BuLabel; -import com.memoire.bu.BuList; - -/** - * G\xE8re un mod\xE8le crue. Un mod\xE8le contient plusieurs sous mod\xE8le. - * - * @author Adrien Hadoux - */ -public class CrueModeleBuilder { - - /** - * Icone propre aux scenarios - */ - public static BuIcon iconeModele_ = FCrueResource.CRUE.getIcon("crystal22_toutselectionner.png"); - - /** - * Construit une bu list avec l'ensemble des sc\xE9narios du logiciel - * - * @param baseScenarios - * @return - */ - public static BuList buildListModele(final List<EMHModeleBase> baseModeles, final String title) { - final DefaultListModel model = new DefaultListModel(); - if (baseModeles != null) { - for (final EMHModeleBase modele : baseModeles) { - final BuLabel label = new BuLabel(iconeModele_); - label.setText(modele.getId()); - model.addElement(label); - } - } - final BuList liste = new BuList(model); - liste.setCellRenderer(new GrapheCellRenderer()); - liste.setBorder(BorderFactory.createTitledBorder(title)); - return liste; - } - - public static BuList buildListModele(final List<EMHModeleBase> baseModeles) { - return buildListModele(baseModeles, FCrueResource.getS("Mod\xE8les disponibles")); - } - - public static BuList buildListSousModele(final List<EMHModeleBase> baseModeles) { - return buildListModele(baseModeles, FCrueResource.getS("Sous Mod\xE8les disponibles")); - } - -} Modified: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueProjet.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -1,13 +1,24 @@ package org.fudaa.fudaa.crue.projet; +import java.awt.GridLayout; import java.io.File; +import javax.swing.BorderFactory; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; + import org.fudaa.dodico.crue.io.Crue10FileFormatFactory; import org.fudaa.dodico.crue.metier.EMHproject; -import org.fudaa.fudaa.crue.CruePersistanceErrorManager; +import org.fudaa.dodico.crue.metier.emh.CrueData; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.commun.EbliComponentFactory; import org.fudaa.fudaa.crue.common.CrueCommomImplementation; import org.fudaa.fudaa.crue.common.FCrueResource; +import org.fudaa.fudaa.crue.view.CruePersistanceErrorManager; +import com.memoire.bu.BuPanel; + /** * Projet Crue. Contient le contenu du fichier xml ETU lu. Manage les scc�narios, modeles et sous modeles crue au sein * de l'application fudaa. @@ -19,43 +30,124 @@ /** * Structure correspondante au contenu du fichier xml ETU. */ - EMHproject project_; + EMHproject project; - final CrueCommomImplementation impl_; + final CrueCommomImplementation impl; final File fichierEtu_; - final CruePersistanceErrorManager managerError_; + final CruePersistanceErrorManager managerError; /** + * Les donnees crueData chargees. + */ + CrueData dataChargees; + + /** * Lancement d'un projet. * * @param fichierEtu */ public CrueProjet(final File fichierEtu, final CrueCommomImplementation impl) { - impl_ = impl; + this.impl = impl; fichierEtu_ = fichierEtu; - managerError_ = new CruePersistanceErrorManager(); + managerError = new CruePersistanceErrorManager(); // -- init de la structure projet --// - project_ = readProject(fichierEtu); + project = readProject(fichierEtu); // -- initialisation des composants de l'IHM --// - impl_.init(project_, fichierEtu); + impl.init(project, fichierEtu); } /** - * Lit le fichier ETU et g�n�re la structure projet correspondante. + * Lit le fichier ETU et genere la structure projet correspondante. * * @param _f * @return */ public EMHproject readProject(final File _f) { - managerError_.clear(); + managerError.clear(); // -- lecture du fichier --// - final EMHproject projet = Crue10FileFormatFactory.getETUFileFormat().read(_f, managerError_.getAnalyser(), null); + final EMHproject projet = Crue10FileFormatFactory.getETUFileFormat().read(_f, managerError.getAnalyser(), null); // -- affichage du r�sultat --// - managerError_.showDialog(impl_, FCrueResource.getS("Chargement projet")); + managerError.showDialog(impl, FCrueResource.getS("Chargement projet")); return projet; } + public EMHproject getProject() { + return project; + } + + public void setProject(EMHproject project) { + this.project = project; + } + + public CrueCommomImplementation getImpl() { + return impl; + } + + public CruePersistanceErrorManager getManagerError() { + return managerError; + } + + /** + * Methode tres utile qui genere le panel d'infos generiques des infos du projet etude. Sera commun à plusieurs + * interfaces. + * + * @return panel des infos associees. + */ + public JPanel createInFosProjectPanel() { + BuPanel infos = new BuPanel(new GridLayout(6, 2, 5, 1)); + + infos.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Infos Etude"))); + + JLabel titreEtude1 = new JLabel(FCrueResource.getS("Etude:")); + JTextField titreEtude2 = new JTextField(fichierEtu_.getName(), 10); + JLabel titreCommentaire = new JLabel(FCrueResource.getS("Commentaire:")); + JTextField titreCommentaire2 = new JTextField(10); + + JLabel path1 = new JLabel(project.getInfos().FICHETUDES + ":"); + JTextField path1_2 = new JTextField(10); + JLabel path2 = new JLabel(project.getInfos().RUNS + ":"); + JTextField path2_2 = new JTextField(10); + JLabel path3 = new JLabel(project.getInfos().RAPPORTS + ":"); + JTextField path3_2 = new JTextField(10); + + if (project.getInfos().getFichierEtu() != null) { + titreCommentaire2.setText(project.getInfos().getFichierEtu()); + } + if (project.getInfos().getDirectories() != null) { + path1_2.setText(project.getInfos().getDirectories().get(project.getInfos().FICHETUDES)); + path2_2.setText(project.getInfos().getDirectories().get(project.getInfos().RUNS)); + path3_2.setText(project.getInfos().getDirectories().get(project.getInfos().RAPPORTS)); + } + + infos.add(titreEtude1); + infos.add(titreEtude2); + + infos.add(titreCommentaire); + infos.add(titreCommentaire2); + + infos.add(path1); + infos.add(path1_2); + + infos.add(path2); + infos.add(path2_2); + + infos.add(path3); + infos.add(path3_2); + + EbliActionSimple actionModifier = new EbliActionSimple(FCrueResource.getS("Valider"), FCrueResource.CRUE + .getIcon("crystal_oui.png"), "VALIDER") { + + }; + infos.add(new JLabel()); + infos.add(actionModifier.buildButton(EbliComponentFactory.INSTANCE)); + + return infos; + } + + public File getFichierEtu_() { + return fichierEtu_; + } } Deleted: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueScenarioBuilder.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueScenarioBuilder.java 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueScenarioBuilder.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -1,69 +0,0 @@ -package org.fudaa.fudaa.crue.projet; - -import java.util.List; - -import javax.swing.BorderFactory; -import javax.swing.DefaultListModel; - -import org.fudaa.dodico.crue.metier.EMHScenario; -import org.fudaa.ebli.visuallibrary.graphe.GrapheCellRenderer; -import org.fudaa.fudaa.crue.common.FCrueResource; - -import com.memoire.bu.BuIcon; -import com.memoire.bu.BuLabel; -import com.memoire.bu.BuList; - -/** - * G\xE8re les interfaces relative \xE0 un sc\xE9nario Crue. G\xE8re le lien entre un EMHScenario m\xE9tier et l'interface propos\xE9 par - * les actions sc\xE9narios. - * - * @author Adrien Hadoux - */ -public class CrueScenarioBuilder { - - /** - * Icone propre aux scenarios - */ - public static BuIcon iconeScenario_ = FCrueResource.CRUE.getIcon("crystal22_preference.png"); - - /** - * Construit une bu list avec l'ensemble des sc\xE9narios du logiciel - * - * @param baseScenarios - * @return - */ - public static BuList buildListScenario(final List<EMHScenario> baseScenarios) { - final DefaultListModel model = new DefaultListModel(); - if (baseScenarios != null) { - for (final EMHScenario scenario : baseScenarios) { - final BuLabel label = new BuLabel(iconeScenario_); - label.setText(scenario.getId()); - model.addElement(label); - } - } - final BuList liste = new BuList(model); - liste.setCellRenderer(new GrapheCellRenderer()); - liste.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Sc\xE9narios disponibles"))); - return liste; - } - - /** - * G\xE9n\xE8re l'encart du scenario courant - * - * @param scenarCourant - * @return - */ - public static BuList buildListScenarioCourant(final EMHScenario scenarCourant) { - final DefaultListModel model = new DefaultListModel(); - if (scenarCourant == null) return null; - final BuLabel label = new BuLabel(iconeScenario_); - label.setText(scenarCourant.getId()); - model.addElement(label); - - final BuList liste = new BuList(model); - liste.setCellRenderer(new GrapheCellRenderer()); - liste.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Sc\xE9nario courant"))); - return liste; - } - -} Deleted: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueSousModeleBuilder.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueSousModeleBuilder.java 2009-05-06 17:51:00 UTC (rev 4729) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/projet/CrueSousModeleBuilder.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -1,10 +0,0 @@ -package org.fudaa.fudaa.crue.projet; - -/** - * G\xE8re un sous mod\xE8le crue. - * - * @author Adrien Hadoux - */ -public class CrueSousModeleBuilder { - -} Added: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueComparaisonScenarioFille.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueComparaisonScenarioFille.java (rev 0) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CrueComparaisonScenarioFille.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -0,0 +1,7 @@ +package org.fudaa.fudaa.crue.view; + +import com.memoire.bu.BuInternalFrame; + +public class CrueComparaisonScenarioFille extends BuInternalFrame { + +} Added: trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CruePanelFicheScenario.java =================================================================== --- trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CruePanelFicheScenario.java (rev 0) +++ trunk/soft/fudaa-crue/fudaa/src/main/java/org/fudaa/fudaa/crue/view/CruePanelFicheScenario.java 2009-05-06 23:59:46 UTC (rev 4730) @@ -0,0 +1,201 @@ +package org.fudaa.fudaa.crue.view; + +import java.awt.BorderLayout; +import java.awt.FlowLayout; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; + +import javax.swing.BorderFactory; +import javax.swing.Box; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTextField; + +import org.fudaa.dodico.crue.metier.EMHScenario; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.commun.EbliComponentFactory; +import org.fudaa.fudaa.crue.builder.CrueModeleBuilder; +import org.fudaa.fudaa.crue.common.FCrueResource; +import org.fudaa.fudaa.crue.projet.ChargerScenario; +import org.fudaa.fudaa.crue.projet.CrueProjet; + +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuList; +import com.memoire.bu.BuPanel; + +/** + * Classe qui gère un panel d'affichage d'une fiche de scenario choisie. + * + * @author Adrien Hadoux + */ +public class CruePanelFicheScenario extends JPanel { + /** + * + */ + private static final long serialVersionUID = -3364259197192821481L; + EMHScenario scenario; + + JTextField labelId = new JTextField(10); + JTextField labelType = new JTextField(10); + JTextField labelCommentaire = new JTextField(10); + JTextField labelModif = new JTextField(10); + /** + * conteneur des listes pour les modeles. + */ + BuPanel conteneurModeles = new BuPanel(); + + /** + * conteneur des listes pour les fichiers etudes. + */ + BuPanel conteneurFichiersEtudes = new BuPanel(); + + private final CrueProjet crueProjet_; + + /** + * @param scenario + */ + public CruePanelFicheScenario(EMHScenario scenario, CrueProjet impl) { + super(); + this.crueProjet_ = impl; + initBuild(); + + updateForScenario(scenario); + + } + + /** + * Initialise la construction des parametres graphiques. A appeler une seule fois. + */ + private void initBuild() { + setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Fiche Scenario"))); + /* + * 3 etages id commentaires - liste des scenarios - liste des modeles. + */ + // this.setLayout(new GridLayout(3, 2)); + this.setLayout(new BorderLayout()); + Box box = Box.createVerticalBox(); + this.add(box, BorderLayout.CENTER); + + BuPanel ligne = new BuPanel(new GridLayout(1, 2)); + + BuPanel identificationPanel = new BuPanel(new FlowLayout(FlowLayout.LEFT)); + identificationPanel.add(new BuLabel(FCrueResource.getS("Id Scenario:"))); + identificationPanel.add(labelId); + ligne.add(identificationPanel); + + BuPanel typePanel = new BuPanel(new FlowLayout(FlowLayout.LEFT)); + typePanel.add(new BuLabel(FCrueResource.getS("Type:"))); + typePanel.add(labelType); + ligne.add(typePanel); + + box.add(ligne); + ligne = new BuPanel(new GridLayout(1, 2)); + + BuPanel comPanel = new BuPanel(new FlowLayout(FlowLayout.LEFT)); + comPanel.add(new BuLabel(FCrueResource.getS("Commentaire:"))); + comPanel.add(labelCommentaire); + ligne.add(comPanel); + + BuPanel datePanel = new BuPanel(new FlowLayout(FlowLayout.LEFT)); + datePanel.add(new BuLabel(FCrueResource.getS("Modifié:"))); + datePanel.add(labelModif); + ligne.add(datePanel); + + box.add(ligne); + ligne = new BuPanel(new GridLayout(1, 2)); + conteneurFichiersEtudes.setLayout(new GridLayout(1, 1)); + conteneurModeles.setLayout(new GridLayout(1, 1)); + ligne.add(conteneurFichiersEtudes); + ligne.add(conteneurModeles); + // conteneurFichiersEtudes.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Fichiers Scénarios"))); + // conteneurModeles.setBorder(BorderFactory.createTitledBorder(FCrueResource.getS("Modèles"))); + box.add(ligne); + ligne = new BuPanel(new FlowLayout()); + + EbliActionSimple actionChangeScenario = new EbliActionSimple(FCrueResource.getS("Définir scénario courant"), null, + "SCENARIOCOURANT") { + + @Override + public void actionPerformed(ActionEvent _e) { + if (crueProjet_.getImpl().question(FCrueResource.getS("Scénario courant"), + FCrueResource.getS("Etes-vous sur de vouloir définir ce scénario courant?"))) { + if (scenario != null) { + crueProjet_.getProject().setScenarioCourant(scenario); + } + crueProjet_.getImpl().removeInternalFrame(crueProjet_.getImpl().scenarioFille); + crueProjet_.getImpl().addScenarioManagerFille(); + crueProjet_.getImpl().rebuildApplication(crueProjet_.getFichierEtu_()); + crueProjet_.getImpl().message(FCrueResource.getS("Changement correctement déroulé.")); + } + } + + }; + + ligne.add(actionChangeScenario.buildButton(EbliComponentFactory.INSTANCE)); + ChargerScenario.CrueActionChargerScenario actionCharger = new ChargerScenario.CrueActionChargerScenario(scenario, + crueProjet_); + ligne.add(actionCharger.buildButton(EbliCom... [truncated message content] |