|
From: <de...@us...> - 2010-09-10 06:21:13
|
Revision: 5924
http://fudaa.svn.sourceforge.net/fudaa/?rev=5924&view=rev
Author: deniger
Date: 2010-09-10 06:21:06 +0000 (Fri, 10 Sep 2010)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/EMHProjet.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHContainerBase.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHScenario.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java
trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties
trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java
trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java
trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/CrueEditorImplementation.java
trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/Messages.java
trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/UserPreferencesSaver.java
trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/view/ActionChangeRunCourant.java
trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java
trunk/soft/fudaa-crue/crue-ui/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/EMHProjet.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/EMHProjet.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/EMHProjet.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -86,6 +86,19 @@
return null;
}
+ /**
+ * @return the dir that contains the dc and dh files.
+ */
+ public File getDirForRunModeleCrue9(final ManagerEMHScenario scenarioCrue9, final EMHRun run) {
+ final File dirOfRun = getDirForRun(scenarioCrue9, run);
+ final List<ManagerEMHModeleBase> fils = scenarioCrue9.getFils();
+ if (fils.isEmpty()) {
+ return null;
+ } else if (fils.size() > 1) { return null; }
+ final ManagerEMHModeleBase modele = fils.get(0);
+ return new File(dirOfRun, modele.getNom());
+ }
+
public File getDirForRunCourantOf(final String scenarioNom) {
final ManagerEMHScenario sc = getScenario(scenarioNom);
if (sc != null && sc.getRunCourant() != null) { return getDirForRun(sc, sc.getRunCourant()); }
@@ -132,22 +145,12 @@
/**
* @param nomScenario le nom du scenario
- * @return l'association idFichier->File pour les fichier d'etude du run courant
- */
- public Map<String, URL> getFileUrlRunScenario(final String nomScenario) {
- final ManagerEMHScenario sc = getScenario(nomScenario);
- if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); }
- return getRunFiles(sc.getAllFileUsed(), nomScenario);
- }
-
- /**
- * @param nomScenario le nom du scenario
* @return l'association idFichier->File pour les fichier d'etude
*/
- public Map<String, File> getFileFileRunScenario(final String nomScenario) {
- final ManagerEMHScenario sc = getScenario(nomScenario);
- if (sc == null || sc.getRunCourant() == null) { return Collections.emptyMap(); }
- return getRunFileFiles(sc.getAllFileUsed(), nomScenario);
+ public Map<String, File> getFiles(final ManagerEMHScenario sc, EMHRun run) {
+ if (sc == null) { return Collections.emptyMap(); }
+ if (run == null) { return getFileEtudeFiles(sc.getAllFileUsed()); }
+ return getRunFileFiles(sc.getAllFileUsed(), sc, run);
}
/**
@@ -186,22 +189,10 @@
return idModele.get(nom);
}
- private Map<String, URL> getRunFiles(final Map<String, FichierCrueParModele> allFileUsed, final String scenario) {
- final Map<String, URL> res = new HashMap<String, URL>(allFileUsed.size());
- final Map<String, File> file = getRunFileFiles(allFileUsed, scenario);
- for (final Map.Entry<String, File> it : file.entrySet()) {
- try {
- res.put(it.getKey(), it.getValue().toURI().toURL());
- } catch (final MalformedURLException e) {
- LOGGER.error("getRunFiles", e);
- }
- }
- return res;
- }
-
- private Map<String, File> getRunFileFiles(final Map<String, FichierCrueParModele> allFileUsed, final String scenario) {
+ private Map<String, File> getRunFileFiles(final Map<String, FichierCrueParModele> allFileUsed,
+ final ManagerEMHScenario scenario, EMHRun run) {
final Map<String, File> res = new HashMap<String, File>(allFileUsed.size());
- final File dirOfRun = getDirForRunCourantOf(scenario);
+ final File dirOfRun = getDirForRun(scenario, run);
for (final Map.Entry<String, FichierCrueParModele> entry : allFileUsed.entrySet()) {
final ManagerEMHModeleBase parent = entry.getValue().getParent();
final File modeleDir = parent == null ? dirOfRun : new File(dirOfRun, parent.getNom());
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHContainerBase.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHContainerBase.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHContainerBase.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -66,6 +66,11 @@
return infosVersions;
}
+ public boolean isCrue9() {
+ final String type = getInfosVersions().getType().toUpperCase();
+ return type.contains("9");
+ }
+
/**
* @return le manager des fichiers
*/
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHScenario.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHScenario.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/etude/ManagerEMHScenario.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -23,7 +23,7 @@
private EMHScenario emh;
/**
- * la liste des runs associes au sc�nraio.
+ * la liste des runs associes au scenraio.
*/
private List<EMHRun> listeRuns_;
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoader.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -67,26 +67,21 @@
"loader.loadScenario.group", scenario.getNom()));
final CrueErrorManager testFileExistBilan = loadScenarioBilan.createGroup(CommonMessages
.getString("loader.fileExist.test"));
- final boolean ok = validFiles(testFileExistBilan);
- if (!ok) { return errorMng; }
-
- Map<String, File> files = null;
if (projet.getScenario(scenario.getNom()) == null) {
analyzer.addFatalError("not.scenario.error", scenario.getNom());
}
+ final boolean ok = validFiles(testFileExistBilan);
+ if (!ok) { return errorMng; }
+
+ Map<String, File> files = projet.getFiles(scenario, run);
Map<String, File> resFiles = null;
- if (run == null) {
- files = projet.getFileFileEtudeScenario(scenario.getNom());
- } else {
- files = projet.getFileFileRunScenario(scenario.getNom());
+ if (run != null) {
resFiles = projet.getFileFileResultatForCurrentRun(scenario.getNom());
}
EMHScenario emhScenario = null;
boolean crue9 = false;
if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) {
-
- final String type = scenario.getInfosVersions().getType().toUpperCase();
- crue9 = type.contains("9");
+ crue9 = scenario.isCrue9();
scenario.clean();
final CrueErrorManager readFileBilan = loadScenarioBilan.createGroup(CommonMessages.getString("loader.readFile"));
@@ -126,11 +121,15 @@
}
private boolean validFiles(final CrueErrorManager errorMng) {
+ return validFiles(errorMng, scenario.getRunCourant());
+ }
+
+ private boolean validFiles(final CrueErrorManager errorMng, EMHRun run) {
// on teste la presence de fichiers
Map<String, File> fileToLoad = projet.getFileFileEtudeScenario(scenario.getNom());
boolean ok = validFileExists(errorMng, fileToLoad, "loader.fichier.etude.exist");
if (scenario.getRunCourant() != null) {
- final Map<String, File> runFiles = projet.getFileFileRunScenario(scenario.getNom());
+ final Map<String, File> runFiles = projet.getFiles(scenario, run);
ok = ok && validFileExists(errorMng, runFiles, "loader.fichier.run.exist");
if (ok) {
fileToLoad = runFiles;
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue9.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -76,6 +76,25 @@
this.propDefinition = propDefinition;
}
+ public static File findFileOfType(final ManagerEMHScenario scenarioCrue9, CrueFileType type,
+ final Map<String, File> files) {
+ // -- recherche des fichiers sous modeles --//
+ final List<ManagerEMHModeleBase> fils = scenarioCrue9.getFils();
+ if (fils.isEmpty()) {
+ return null;
+ } else if (fils.size() > 1) { return null; }
+ final ManagerEMHModeleBase modele = fils.get(0);
+ return files.get(modele.getListeFichiers().getFile(type).getId());
+ }
+
+ public static File findFileDc(final ManagerEMHScenario scenarioCrue9, final Map<String, File> files) {
+ return findFileOfType(scenarioCrue9, CrueFileType.DC, files);
+ }
+
+ public static File findFileDh(final ManagerEMHScenario scenarioCrue9, final Map<String, File> files) {
+ return findFileOfType(scenarioCrue9, CrueFileType.DH, files);
+ }
+
/**
* Ordonnance le chargement d'un projet crue 10: sous modeles puis modeles puis scenarios
*/
@@ -92,8 +111,8 @@
}
final ManagerEMHModeleBase modele = fils.get(0);
- final File fichierDC = files.get(modele.getListeFichiers().getFile(CrueFileType.DC).getId());
- final File fichierDH = files.get(modele.getListeFichiers().getFile(CrueFileType.DH).getId());
+ final File fichierDC = findFileDc(scenario, files);
+ final File fichierDH = findFileDh(scenario, files);
if (fichierDC == null) {
analyzer.addFatalError("loader.crue9.noDefined", "DC", modele.getNom());
@@ -116,7 +135,8 @@
final CrueData res = ioResuDH.getMetier();
// on charge les valeurs par defaut pour ores.
final CtuluAnalyze ores = new CtuluAnalyze();
- Crue10FileFormatFactory.getInstance().getFileFormat(CrueFileType.ORES, Crue10FileFormatFactory.V_1).read("/default.ores.xml", ores, res);
+ Crue10FileFormatFactory.getInstance().getFileFormat(CrueFileType.ORES, Crue10FileFormatFactory.V_1).read(
+ "/default.ores.xml", ores, res);
if (ores.isNotEmpty()) {
errorMng.getAnalyser().add(ores);
}
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/projet/ScenarioSaver.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -55,7 +55,7 @@
final Map<String, File> files = projet.getFileFileEtudeScenario(scenario.getNom());
Map<String, File> runFiles = null;
if (runCourant != null) {
- runFiles = projet.getFileFileRunScenario(scenario.getNom());
+ runFiles = projet.getFiles(scenario, runCourant);
}
scenario.getEmh().sort();
if (scenario.getInfosVersions() != null && scenario.getInfosVersions().getType() != null) {
Modified: trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/commonMessages.properties 2010-09-10 06:21:06 UTC (rev 5924)
@@ -138,4 +138,7 @@
common.validation=Validation de {0}
validation.infoEMHUnique=Validation unicit\xE9 des infosEMH
error.infoEMHNommeUsedSeveralTimes=L''infoEMH {1} de type {0} est utilis\xE9e par plusieurs EMH: {2}
-error.infoEMHUsedSeveralTimes=L''infoEMH de type {0} est utilis\xE9e par plusieurs EMH: {1}
\ No newline at end of file
+error.infoEMHUsedSeveralTimes=L''infoEMH de type {0} est utilis\xE9e par plusieurs EMH: {1}
+exec.launchCrue9.noFolder=Le dossier de travail n'existe pas
+exec.crue9.dhFileNotFoundError=Le fichier DH n'a pas \xE9t\xE9 trouv\xE9 pour lancer le calcul
+exec.crue9.dcFileNotFoundError=Le fichier DC n'a pas \xE9t\xE9 trouv\xE9 pour lancer le calcul
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/CrueScenarioBuilder.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -18,7 +18,7 @@
import org.fudaa.dodico.crue.metier.etude.ManagerEMHSousModele;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeModele;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeModeleRun;
-import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeRun;
+import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeRunDefault;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeScenario;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeSousModele;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeScenarioModel;
@@ -85,7 +85,7 @@
if (scenario.getListeRuns() != null) {
for (EMHRun run : scenario.getListeRuns()) {
- TreeNodeRun nodeRun = new TreeNodeRun(run, scenario);
+ TreeNodeRunDefault nodeRun = new TreeNodeRunDefault(projet,scenario, run);
nodeScenar.add(nodeRun);
if (run.getListeModelesRuns() != null) {
@@ -116,7 +116,7 @@
TreeNodeString conteneurSModelesFichier = new TreeNodeString("Fichiers");
nodeSModel.add(conteneurSModelesFichier);
for (FichierCrue fc : sousmodele.getListeFichiers().getFichiers()) {
- conteneurSModelesFichier.add(new TreeNodeString(fc.getId()));
+ conteneurSModelesFichier.add(createTreeNodeFile(projet, fc));
}
}
@@ -128,7 +128,7 @@
TreeNodeString conteneurModelesFichier = new TreeNodeString("Fichiers");
nodeModel.add(conteneurModelesFichier);
for (FichierCrue fc : m.getListeFichiers().getFichiers()) {
- conteneurModelesFichier.add(new TreeNodeString(fc.getId()));
+ conteneurModelesFichier.add(createTreeNodeFile(projet, fc));
}
}
}
@@ -138,7 +138,7 @@
TreeNodeString conteneurModelesFichier = new TreeNodeString("Fichiers");
nodeScenar.add(conteneurModelesFichier);
for (FichierCrue fc : scenario.getListeFichiers().getFichiers()) {
- conteneurModelesFichier.add(new TreeNodeString(fc.getId()));
+ conteneurModelesFichier.add(createTreeNodeFile(projet, fc));
}
}
@@ -150,13 +150,17 @@
return modeleTree;
}
+ private static TreeNodeStringFile createTreeNodeFile(EMHProjet projet, FichierCrue fc) {
+ return new TreeNodeStringFile(fc.getId(), fc, projet);
+ }
+
/**
* Genere l'encart du scenario courant
*
* @param scenarCourant
* @return
*/
- public static JList buildListScenarioCourant(final ManagerEMHScenario scenarCourant,UiContext componentFactory) {
+ public static JList buildListScenarioCourant(final ManagerEMHScenario scenarCourant, UiContext componentFactory) {
if (scenarCourant == null) { return null; }
final DefaultListModel model = new DefaultListModel();
final BuLabel label = new BuLabel(CrueTreeProject.iconeScenarioCourant);
Modified: trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java
===================================================================
--- trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/builder/CrueTreeProject.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -1,6 +1,7 @@
package org.fudaa.fudaa.crue.builder;
import java.awt.Component;
+import java.io.File;
import java.util.Arrays;
import javax.swing.JTree;
@@ -11,6 +12,7 @@
import org.apache.commons.lang.StringUtils;
import org.fudaa.dodico.crue.metier.emh.EMH;
+import org.fudaa.dodico.crue.metier.emh.EMHScenario;
import org.fudaa.dodico.crue.metier.emh.EnumTypeEMH;
import org.fudaa.dodico.crue.metier.etude.EMHInfosVersion;
import org.fudaa.dodico.crue.metier.etude.EMHModeleRun;
@@ -140,18 +142,20 @@
*
* @author Adrien Hadoux
*/
- public static class TreeNodeRun extends DefaultMutableTreeTableNode {
- final EMHRun r;
+ public static class TreeNodeRunDefault extends DefaultMutableTreeTableNode implements TreeNodeCrueRun {
+ final EMHRun run;
final ManagerEMHScenario scenario;
+ final EMHProjet projet;
- public TreeNodeRun(final EMHRun r, final ManagerEMHScenario scenario) {
+ public TreeNodeRunDefault(final EMHProjet projet, final ManagerEMHScenario scenario, final EMHRun run) {
super();
- this.r = r;
+ this.run = run;
+ this.projet = projet;
this.scenario = scenario;
}
public boolean isCourant() {
- return r == scenario.getRunCourant();
+ return run == scenario.getRunCourant();
}
public boolean isLoaded() {
@@ -161,12 +165,27 @@
@Override
public Object getValueAt(final int column) {
if (column == 0) {
- return r.getId();
+ return run.getId();
} else if (column == 2) {
- if (r.getInfosVersion() != null) { return r.getInfosVersion().getCommentaire(); }
+ if (run.getInfosVersion() != null) { return run.getInfosVersion().getCommentaire(); }
}
return StringUtils.EMPTY;
}
+
+ @Override
+ public EMHProjet getProjet() {
+ return projet;
+ }
+
+ @Override
+ public EMHRun getRun() {
+ return run;
+ }
+
+ @Override
+ public ManagerEMHScenario getScenario() {
+ return scenario;
+ }
}
/**
@@ -247,9 +266,10 @@
}
setToolTipText("Scénario");
- } else if (value instanceof TreeNodeRun) {
- setIcon(((TreeNodeRun) value).isCourant() ? (((TreeNodeRun) value).isLoaded() ? iconeRunCourantCharge
- : iconeRunCourant) : iconeRun);
+ } else if (value instanceof TreeNodeRunDefault) {
+ setIcon(((TreeNodeRunDefault) value).isCourant() ? (((TreeNodeRunDefault) value).isLoaded() ? iconeRunCourantCharge
+ : iconeRunCourant)
+ : iconeRun);
} else if ((value instanceof TreeNodeModele) || (value instanceof TreeNodeModeleRun)) {
setIcon(iconeModele);
} else if (value instanceof TreeNodeSousModele) {
Modified: trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/CrueEditorImplementation.java
===================================================================
--- trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/CrueEditorImplementation.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/CrueEditorImplementation.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -10,6 +10,7 @@
import java.util.List;
import javax.swing.JFrame;
+import javax.swing.JMenu;
import com.memoire.bu.BuMenu;
import com.memoire.bu.BuMenuBar;
@@ -71,8 +72,8 @@
BuTaskView taches_;
protected void cmdOuvrirEtude() {
- final File f = FudaaGuiLib.ouvrirFileChooser("Fichier etu", Crue10FileFormatFactory.getInstance().getFileFormat(CrueFileType.ETU, Crue10FileFormatFactory.V_1)
- .getFileFormat().createFileFilter(), getFrame(), false);
+ final File f = FudaaGuiLib.ouvrirFileChooser("Fichier etu", Crue10FileFormatFactory.getInstance().getFileFormat(
+ CrueFileType.ETU, Crue10FileFormatFactory.V_1).getFileFormat().createFileFilter(), getFrame(), false);
if (f != null) {
cmdOuvrirFile(f);
@@ -137,6 +138,29 @@
// addFrameListLeft();
// buildTaskView();
final BuMenuBar mb = getMainMenuBar();
+ BuMenu menu = (BuMenu) mb.getMenu("MENU_EDITION");
+ menu.addMenuItem(Messages.getString("impl.configText.label"), "CONFIG_TEXT_EDITOR", BuResource.BU
+ .getToolIcon("crystal_configurer"), new ActionListener() {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ ExecConfigUIChooser chooser = new ExecConfigUIChooser(ExecConfigPreferences.TEXT_EDITOR);
+ chooser.setUi(CrueEditorImplementation.this);
+ chooser.display(CrueEditorImplementation.this.getFrame());
+
+ }
+ });
+ menu.addMenuItem(Messages.getString("impl.configCrue9.label"), "CONFIG_CRUE9", BuResource.BU
+ .getToolIcon("crystal_configurer"), new ActionListener() {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ ExecConfigUIChooser chooser = new ExecConfigUIChooser(ExecConfigPreferences.CRUE9);
+ chooser.setUi(CrueEditorImplementation.this);
+ chooser.display(CrueEditorImplementation.this.getFrame());
+ }
+ });
+
final int nb = mb.getMenuCount();
mb.add(buildValiderMenu(), nb - 1);
mb.add(buildEMHMenu(), nb - 1);
Modified: trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/Messages.java
===================================================================
--- trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/Messages.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/Messages.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -1,6 +1,5 @@
/**
- * Licence GPL
- * Copyright Genesis
+ * Licence GPL Copyright Genesis
*/
package org.fudaa.fudaa.crue.common;
@@ -31,4 +30,16 @@
return key;
}
}
+
+ public static String getString(String key, String defaultKey) {
+ try {
+ return RESOURCE_BUNDLE.getString(key);
+ } catch (MissingResourceException e) {
+ try {
+ return RESOURCE_BUNDLE.getString(defaultKey);
+ } catch (MissingResourceException ex) {
+ return key;
+ }
+ }
+ }
}
Modified: trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/UserPreferencesSaver.java
===================================================================
--- trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/UserPreferencesSaver.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/common/UserPreferencesSaver.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -191,6 +191,18 @@
return createPreferences().getBooleanProperty(key, defaultValue);
}
+ public static String getPreference(String key) {
+ return createPreferences().getStringProperty(key, null);
+ }
+
+ public static void savePreference(String key, String value) {
+ createPreferences().putStringProperty(key, value);
+ }
+
+ public static String getPreference(String key, String defaultValue) {
+ return createPreferences().getStringProperty(key, defaultValue);
+ }
+
public static void savePreference(String key, boolean value) {
createPreferences().putBooleanProperty(key, value);
}
Modified: trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/view/ActionChangeRunCourant.java
===================================================================
--- trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/view/ActionChangeRunCourant.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/view/ActionChangeRunCourant.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -22,7 +22,7 @@
import org.fudaa.dodico.crue.metier.etude.EMHRun;
import org.fudaa.dodico.crue.metier.etude.ManagerEMHScenario;
import org.fudaa.ebli.commun.EbliActionSimple;
-import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeRun;
+import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeRunDefault;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeScenario;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeScenarioModel;
import org.fudaa.fudaa.crue.common.FCrueResource;
@@ -92,7 +92,7 @@
int childCount = treeNodeScenarioSelected.getChildCount();
for (int i = 0; i < childCount; i++) {
TreeTableNode childAt = treeNodeScenarioSelected.getChildAt(i);
- if (childAt instanceof TreeNodeRun) {
+ if (childAt instanceof TreeNodeRunDefault) {
model.fireChanged(path.pathByAddingChild(childAt));
}
}
Modified: trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java
===================================================================
--- trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-ui/src/main/java/org/fudaa/fudaa/crue/view/CrueFilleScenarioManager.java 2010-09-10 06:21:06 UTC (rev 5924)
@@ -2,13 +2,14 @@
import java.awt.BorderLayout;
import java.awt.Dimension;
+import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
+import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.beans.PropertyVetoException;
import javax.swing.Action;
import javax.swing.BorderFactory;
-import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.ListSelectionModel;
@@ -22,8 +23,7 @@
import com.memoire.bu.BuInternalFrame;
import com.memoire.bu.BuPanel;
-import org.fudaa.ctulu.gui.CtuluPopupListener;
-import org.fudaa.ctulu.gui.CtuluPopupListener.PopupReceiver;
+import org.fudaa.ctulu.gui.PopupMenuReceiver;
import org.fudaa.dodico.crue.metier.emh.ObjetWithID;
import org.fudaa.dodico.crue.metier.etude.ManagerEMHScenario;
import org.fudaa.ebli.commun.EbliComponentFactory;
@@ -31,7 +31,8 @@
import org.fudaa.fudaa.crue.builder.CrueTreeProject.ScenarioTreeRenderer;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeNodeScenario;
import org.fudaa.fudaa.crue.builder.CrueTreeProject.TreeScenarioModel;
-import org.fudaa.fudaa.crue.common.UiContext;
+import org.fudaa.fudaa.crue.common.ExecCrue9Action;
+import org.fudaa.fudaa.crue.common.ExecTextEditorAction;
import org.fudaa.fudaa.crue.common.FCrueResource;
import org.fudaa.fudaa.crue.common.UserPreferencesSaver;
import org.fudaa.fudaa.crue.projet.CrueActionChargerScenario;
@@ -66,6 +67,10 @@
private JSplitPane splitPane;
+ private ExecCrue9Action crue9Action;
+
+ private ExecTextEditorAction editorAction;
+
/**
* @param crueProjet
*/
@@ -92,7 +97,7 @@
private void buildInit() {
// -- modele tree --//
final TreeScenarioModel model = CrueScenarioBuilder.buildTreeScenario(crueProjet.getProject());
- treeScenario = crueProjet.getUiContext().createTreeTable(model,false);
+ treeScenario = crueProjet.getUiContext().createTreeTable(model, false);
treeScenario.setName("etudeView.treeTable");
treeScenario.setTreeCellRenderer(new ScenarioTreeRenderer());
treeScenario.setShowHorizontalLines(true);
@@ -102,7 +107,9 @@
updateScenarioFromTree();
}
});
+ initActions();
+
treeScenario.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
this.setBorder(BorderFactory.createEtchedBorder());
this.setLayout(new BorderLayout());
@@ -117,9 +124,33 @@
// -- pane commun au projet etude, qui ne changera donc jamais --//
final BuPanel infosProjet = new BuPanel(new BuBorderLayout());
- final BuPanel panelCommentaire = new BuPanel();
+ final BuPanel panelCommentaire = new BuPanel(new FlowLayout(FlowLayout.CENTER));
+ panelCommentaire.add(actionCharger.buildButton(EbliComponentFactory.INSTANCE));
+ panelCommentaire.add(editorAction.buildButton(EbliComponentFactory.INSTANCE));
+ panelCommentaire.add(crue9Action.buildButton(EbliComponentFactory.INSTANCE));
+
infosProjet.add(panelCommentaire, BorderLayout.NORTH);
+ if (crueProjet.getProject().getScenarioCourant() != null) {
+ ficheScenario = new CrueFicheScenario(crueProjet.getProject().getScenarioCourant(), crueProjet);
+ } else {
+ ficheScenario = new CrueFicheScenario(crueProjet.getProject().getListeScenarios().get(0), crueProjet);
+ }
+ infosProjet.add(ficheScenario, BorderLayout.CENTER);
+
+ splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
+ splitPane.setName("splitScenarioTreeFiche");
+ splitPane.setTopComponent(conteneur);
+ splitPane.setDividerLocation(200);
+ splitPane.setBottomComponent(infosProjet);
+ this.add(splitPane, BorderLayout.CENTER);
+ UserPreferencesSaver.loadTablePreferences(treeScenario);
+
+ }
+
+ private void initActions() {
+ editorAction = new ExecTextEditorAction(treeScenario.getTreeSelectionModel(), crueProjet.getImpl());
+ crue9Action = new ExecCrue9Action(treeScenario.getTreeSelectionModel(), crueProjet.getImpl());
actionCharger = new CrueActionChargerScenario(null, crueProjet) {
@Override
@@ -136,35 +167,33 @@
actionCharger.setEnabled(false);
actionChangeRun = new ActionChangeRunCourant(this);
- final PopupReceiver receiver = new PopupReceiver() {
+ PopupMenuReceiver popupReceiver = new PopupMenuReceiver() {
- public void popup(final MouseEvent evt) {
- final JPopupMenu popup = new JPopupMenu();
+ @Override
+ protected void addItems() {
+ popupMenu.add(editorAction);
+ popupMenu.add(crue9Action);
+ popupMenu.add(actionCharger);
+ popupMenu.add(actionChangeRun);
+ popupMenu.addSeparator();
+ super.addItems();
+ }
+
+ protected void updateItemStateBeforeShow() {
+ super.updateItemStateBeforeShow();
actionChangeRun.updateState();
- popup.add(actionCharger);
- popup.add(actionChangeRun);
- popup.show(evt.getComponent(), evt.getX(), evt.getY());
+ }
+ };
+ popupReceiver.install(treeScenario, crueProjet.getImpl());
+ treeScenario.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ if(e.getClickCount()==2){
+ editorAction.actionPerformed(null);
+ }
}
- };
-
- new CtuluPopupListener(receiver, treeScenario);
- panelCommentaire.add(actionCharger.buildButton(EbliComponentFactory.INSTANCE));
- if (crueProjet.getProject().getScenarioCourant() != null) {
- ficheScenario = new CrueFicheScenario(crueProjet.getProject().getScenarioCourant(), crueProjet);
- } else {
- ficheScenario = new CrueFicheScenario(crueProjet.getProject().getListeScenarios().get(0), crueProjet);
- }
- infosProjet.add(ficheScenario, BorderLayout.CENTER);
-
- splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
- splitPane.setName("splitScenarioTreeFiche");
- splitPane.setTopComponent(conteneur);
- splitPane.setDividerLocation(200);
- splitPane.setBottomComponent(infosProjet);
- this.add(splitPane, BorderLayout.CENTER);
- UserPreferencesSaver.loadTablePreferences(treeScenario);
-
+ });
}
public void updateSplitSize() {
Modified: trunk/soft/fudaa-crue/crue-ui/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/crue-ui/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties 2010-09-09 14:14:53 UTC (rev 5923)
+++ trunk/soft/fudaa-crue/crue-ui/src/main/resources/org/fudaa/fudaa/crue/common/ihmMessages.properties 2010-09-10 06:21:06 UTC (rev 5924)
@@ -122,4 +122,23 @@
comparaison.table.colonne.egal=Egal
comparaison.table.colonne.courantValue=Valeur Sc\xE9nario courant
comparaison.table.colonne.otherValue=Valeur dans {0}
-comparaison.table.colonne.nbObject=Nombre d'objets test\xE9s
\ No newline at end of file
+comparaison.table.colonne.nbObject=Nombre d'objets test\xE9s
+exec.notFound.error=Veuillez choisir un ex\xE9cutable
+exec.option.label=Arguments
+exec.command.label=Commande
+exec.option.tooltip=Entrez les arguments ( optionnel)
+exec.text.title=Choisir l'\xE9diteur de texte \xE0 utiliser
+exec.crue9.title=Configurer le ex\xE9cutable de Crue 9
+exec.default.title=Choisir le programme \xE0 utiliser
+exec.text.test.label=Tester l'\xE9diteur de texte
+exec.text.contentOfTestFile=Test de l'\xE9diteur de texte r\xE9ussi !
+exec.noCommandDefined.error=L'ex\xE9cutable n'a pas \xE9t\xE9 d\xE9fini, l'op\xE9ration est annul\xE9e.
+exec.failed.redefinedExec=Voulez-vous red\xE9finir le chemin de l'ex\xE9cutable ?\nSi vous r\xE9pondez non, l'op\xE9ration sera annul\xE9e.
+exec.failed.titleDialog=L'ex\xE9cutable n'a pas pu \xEAtre lanc\xE9
+exec.fileNotFound=Le fichier {0} n''existe pas
+exec.text.notAFile=La s\xE9lection ne contient pas de fichier editable
+textEditor.action.label=Editer le fichier
+crue9.action.label=Lancer Crue 9
+impl.configText.label=Configurer l'\xE9diteur de texte
+impl.configCrue9.label=Configurer Crue 9
+exec.launchCrue9.noFolder=Le dossier de travail n'existe pas
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|