Isis-fish-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
June 2009
- 5 participants
- 152 discussions
r2378 - isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator
by chatellier@users.labs.libre-entreprise.org 15 Jun '09
by chatellier@users.labs.libre-entreprise.org 15 Jun '09
15 Jun '09
Author: chatellier
Date: 2009-06-15 08:36:04 +0000 (Mon, 15 Jun 2009)
New Revision: 2378
Modified:
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java
Log:
simulation file is relative to basedir, not test dir
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java 2009-06-15 08:11:27 UTC (rev 2377)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java 2009-06-15 08:36:04 UTC (rev 2378)
@@ -54,8 +54,8 @@
private static Log log = LogFactory.getLog(SimulationHelperTest.class);
final static private String[] SIMULATION_ZIP_FILE = new String[]{
- "src" + File.separator + "test" + File.separator + "resources" + File.separator + "simulations" + File.separator + "test-nonregression-20090203.zip",
- // put here other zip simulation test
+ "src" + File.separator + "test" + File.separator + "resources" + File.separator + "simulations" + File.separator + "test-nonregression-20090203.zip",
+ // put here other zip simulation test
};
// public void testVerifResult() throws Exception {
@@ -128,7 +128,7 @@
for (String zipName : SIMULATION_ZIP_FILE) {
// recuperation du fichier zip de la simulation de test
- File zip = new File(getTestDirectory(), zipName);
+ File zip = new File(zipName);
// import de cette simulation
String name = "simulation-test-" + System.currentTimeMillis();
1
0
r2377 - in isis-fish/trunk: . src/test/java/fr/ifremer/isisfish src/test/java/fr/ifremer/isisfish/logging src/test/java/fr/ifremer/isisfish/logging/io src/test/java/fr/ifremer/isisfish/mexico src/test/java/fr/ifremer/isisfish/simulator src/test/java/fr/ifremer/isisfish/util src/test/java/fr/ifremer/isisfish/vcs
by chatellier@users.labs.libre-entreprise.org 15 Jun '09
by chatellier@users.labs.libre-entreprise.org 15 Jun '09
15 Jun '09
Author: chatellier
Date: 2009-06-15 08:11:27 +0000 (Mon, 15 Jun 2009)
New Revision: 2377
Modified:
isis-fish/trunk/pom.xml
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/AbstractIsisFishTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/SimulationLoggerUtilTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/io/LineReaderTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/io/LineReaderUtilTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/vcs/VCSSVNTest.java
Log:
Do test in java.io.tmpdir ! (modified by surefire).
Modified: isis-fish/trunk/pom.xml
===================================================================
--- isis-fish/trunk/pom.xml 2009-06-12 17:35:02 UTC (rev 2376)
+++ isis-fish/trunk/pom.xml 2009-06-15 08:11:27 UTC (rev 2377)
@@ -520,9 +520,19 @@
</archive>
</configuration>
</plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemProperties>
+ <property>
+ <name>java.io.tmpdir</name>
+ <value>${project.build.directory}/surefire-workdir</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>
-
</build>
<reporting>
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/AbstractIsisFishTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/AbstractIsisFishTest.java 2009-06-12 17:35:02 UTC (rev 2376)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/AbstractIsisFishTest.java 2009-06-15 08:11:27 UTC (rev 2377)
@@ -44,28 +44,22 @@
*/
public abstract class AbstractIsisFishTest {
- protected static File basedir;
-
- protected static File targetdir;
-
protected static File dirDatabase;
- protected static File getBasedir() {
- if (basedir == null) {
- String base = System.getProperty("basedir");
- if (base == null || base.isEmpty()) {
- base = new File("").getAbsolutePath();
- }
- basedir = new File(base);
- }
- return basedir;
- }
+ /**
+ * Return specific temp dir.
+ *
+ * @return system temp dir
+ */
+ public static File getTestDirectory() {
+ String tempdir = System.getProperty("java.io.tmpdir");
- protected static File getTargetdir() {
- if (targetdir == null) {
- targetdir = new File(getBasedir(), "target");
+ File tempdirfile = new File(tempdir);
+ if (!tempdirfile.exists()) {
+ tempdirfile.mkdirs();
}
- return targetdir;
+
+ return tempdirfile;
}
/**
@@ -79,7 +73,7 @@
@BeforeClass
public static void init() throws Exception {
- File mavenTestDir = new File(getTargetdir() + File.separator + "surefire-workdir");
+ File mavenTestDir = getTestDirectory();
dirDatabase = FileUtil.createTempDirectory("isisdbtest", "", mavenTestDir);
System.setProperty("user.home", dirDatabase.getAbsolutePath());
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/SimulationLoggerUtilTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/SimulationLoggerUtilTest.java 2009-06-12 17:35:02 UTC (rev 2376)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/SimulationLoggerUtilTest.java 2009-06-15 08:11:27 UTC (rev 2377)
@@ -62,7 +62,7 @@
Level hibernateLogLevel = hibernatelog.getLevel();
- String loggerFile = new File(getTargetdir(), SimulationLoggerUtilTest.class.getSimpleName() + "_" + System.nanoTime() + ".log").getAbsolutePath();
+ String loggerFile = new File(getTestDirectory(), SimulationLoggerUtilTest.class.getSimpleName() + "_" + System.nanoTime() + ".log").getAbsolutePath();
System.out.println(">>>> loggerFile " + loggerFile);
// todo do a test for addSimulationAppender too!
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/io/LineReaderTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/io/LineReaderTest.java 2009-06-12 17:35:02 UTC (rev 2376)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/io/LineReaderTest.java 2009-06-15 08:11:27 UTC (rev 2377)
@@ -62,7 +62,7 @@
@Before
public void setUp() throws Exception {
- testDir = new File(getTargetdir(), "bench_" + System.nanoTime());
+ testDir = new File(getTestDirectory(), "bench_" + System.nanoTime());
testDir.mkdirs();
System.out.println("benchdir " + testDir);
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/io/LineReaderUtilTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/io/LineReaderUtilTest.java 2009-06-12 17:35:02 UTC (rev 2376)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/io/LineReaderUtilTest.java 2009-06-15 08:11:27 UTC (rev 2377)
@@ -45,7 +45,7 @@
public static File getTestDir() {
if (testDir == null) {
- testDir = new File(getTargetdir(), "bench_" + System.nanoTime());
+ testDir = new File(getTestDirectory(), "bench_" + System.nanoTime());
if (!testDir.mkdirs()) {
throw new IllegalStateException("could not create directory " + testDir);
}
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-06-12 17:35:02 UTC (rev 2376)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-06-15 08:11:27 UTC (rev 2377)
@@ -153,7 +153,7 @@
if (log.isDebugEnabled()) {
xml = xml.replaceAll(">", ">\n");
- FileUtil.writeString(new File(getTargetdir(),
+ FileUtil.writeString(new File(getTestDirectory(),
"mexicohelper_designplan.xml"), xml);
log.info("testGetDesignPlanAsXML xml = " + xml);
}
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java 2009-06-12 17:35:02 UTC (rev 2376)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java 2009-06-15 08:11:27 UTC (rev 2377)
@@ -128,7 +128,7 @@
for (String zipName : SIMULATION_ZIP_FILE) {
// recuperation du fichier zip de la simulation de test
- File zip = new File(getBasedir(), zipName);
+ File zip = new File(getTestDirectory(), zipName);
// import de cette simulation
String name = "simulation-test-" + System.currentTimeMillis();
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java 2009-06-12 17:35:02 UTC (rev 2376)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java 2009-06-15 08:11:27 UTC (rev 2377)
@@ -96,7 +96,7 @@
*/
@Test
public void testCompile() throws IOException, ClassNotFoundException {
- File f = File.createTempFile("testCompile", ".java", getTargetdir());
+ File f = File.createTempFile("testCompile", ".java", getTestDirectory());
String filename = FileUtil.basename(f, ".java");
String code = getFirstClassContent(filename);
FileUtil.writeString(f, code);
@@ -129,12 +129,12 @@
@Test
public void testCompileDepend() throws IOException, ClassNotFoundException {
- File fA = File.createTempFile("testCompileA", ".java", getTargetdir());
+ File fA = File.createTempFile("testCompileA", ".java", getTestDirectory());
String filenameA = FileUtil.basename(fA, ".java");
String codeA = getFirstClassContent(filenameA);
FileUtil.writeString(fA, codeA);
- File fB = File.createTempFile("testCompileB", ".java", getTargetdir());
+ File fB = File.createTempFile("testCompileB", ".java", getTestDirectory());
String filenameB = FileUtil.basename(fB, ".java");
String codeB = getSecondClassContent(filenameB, filenameA);
FileUtil.writeString(fB, codeB);
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/vcs/VCSSVNTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/vcs/VCSSVNTest.java 2009-06-12 17:35:02 UTC (rev 2376)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/vcs/VCSSVNTest.java 2009-06-15 08:11:27 UTC (rev 2377)
@@ -64,7 +64,7 @@
/** Class logger */
private static Log log = LogFactory.getLog(VCSSVNTest.class);
- public static final File TMPDIR = getTargetdir();
+ public static final File TMPDIR = getTestDirectory();
public static final String FILECONTENTTAG = "Version 3.1.0";
public static final String FILECONTENTTRUNK = "Version 3.2.0";
1
0
r2376 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: . models models/analyzeplan models/rule simulator
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
12 Jun '09
Author: chatellier
Date: 2009-06-12 17:35:02 +0000 (Fri, 12 Jun 2009)
New Revision: 2376
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java
Removed:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellEditor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
Log:
Move models (also commons to sensitivity)
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan)
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboModel.java 2009-06-12 16:39:20 UTC (rev 2374)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboModel.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+package fr.ifremer.isisfish.ui.models.analyzeplan;
import java.util.List;
@@ -45,7 +45,7 @@
public AnalyzePlanComboModel() {
this(null);
}
-
+
/**
* Constructor with rule list.
*
@@ -72,7 +72,7 @@
*/
public void setAnalyzePlanNames(List<String> analyzePlanNames) {
this.analyzePlanNames = analyzePlanNames;
-
+
// default first selected
if (!analyzePlanNames.isEmpty()) {
setSelectedItem(analyzePlanNames.get(0));
@@ -93,7 +93,7 @@
@Override
public int getSize() {
int size = 0;
-
+
if (analyzePlanNames != null) {
size = analyzePlanNames.size();
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboRenderer.java 2009-06-12 16:39:20 UTC (rev 2374)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboRenderer.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+package fr.ifremer.isisfish.ui.models.analyzeplan;
import java.awt.Component;
import java.util.HashMap;
@@ -39,7 +39,8 @@
* Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
* By : $Author: chatellier $
*/
-public class AnalyzePlanComboRenderer extends DefaultListCellRenderer implements ListCellRenderer {
+public class AnalyzePlanComboRenderer extends DefaultListCellRenderer implements
+ ListCellRenderer {
/** serialVersionUID. */
private static final long serialVersionUID = -4070846632975105788L;
@@ -60,21 +61,24 @@
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
-
+
// this must be used to have alterned highlight rows and default
// selection color
- JLabel c = (JLabel)super.getListCellRendererComponent(list,value,index, isSelected, cellHasFocus);
-
- String analysePlanName = (String)value;
+ JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
+ index, isSelected, cellHasFocus);
+
+ String analysePlanName = (String) value;
c.setText(analysePlanName);
-
+
// c'est tres couteux d'avoir une instance
// on les met en cache
try {
AnalysePlan plan = analysePlanCache.get(analysePlanName);
if (plan == null) {
- AnalysePlanStorage storage = AnalysePlanStorage.getAnalysePlan(analysePlanName);
+ AnalysePlanStorage storage = AnalysePlanStorage
+ .getAnalysePlan(analysePlanName);
plan = storage.getNewAnalysePlanInstance();
+ analysePlanCache.put(analysePlanName, plan);
}
c.setToolTipText(plan.getDescription());
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListModel.java 2009-06-12 16:39:20 UTC (rev 2374)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListModel.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+package fr.ifremer.isisfish.ui.models.analyzeplan;
import java.util.List;
@@ -37,7 +37,7 @@
/** serialVersionUID. */
private static final long serialVersionUID = -4070846632975105788L;
-
+
protected List<AnalysePlan> plans;
/**
@@ -46,7 +46,7 @@
public AnalyzePlanListModel() {
this(null);
}
-
+
/**
* Constructor with plan list.
*
@@ -89,7 +89,7 @@
@Override
public int getSize() {
int size = 0;
-
+
if (plans != null) {
size = plans.size();
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListRenderer.java 2009-06-12 16:39:20 UTC (rev 2374)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListRenderer.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+package fr.ifremer.isisfish.ui.models.analyzeplan;
import java.awt.Component;
@@ -37,7 +37,8 @@
* Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
* By : $Author: chatellier $
*/
-public class AnalyzePlanListRenderer extends DefaultListCellRenderer implements ListCellRenderer {
+public class AnalyzePlanListRenderer extends DefaultListCellRenderer implements
+ ListCellRenderer {
/** serialVersionUID. */
private static final long serialVersionUID = -4070846632975105788L;
@@ -48,12 +49,13 @@
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
-
+
// this must be used to have alterned highlight rows and default
// selection color
- JLabel c = (JLabel)super.getListCellRendererComponent(list,value,index, isSelected, cellHasFocus);
-
- AnalysePlan plan = (AnalysePlan)value;
+ JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
+ index, isSelected, cellHasFocus);
+
+ AnalysePlan plan = (AnalysePlan) value;
c.setText(AnalysePlanStorage.getName(plan));
try {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellEditor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellEditor.java 2009-06-12 16:39:20 UTC (rev 2374)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellEditor.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+package fr.ifremer.isisfish.ui.models.analyzeplan;
import java.util.ArrayList;
import java.util.List;
@@ -35,15 +35,16 @@
* Last update : $Date: 9 juin 2009 $
* By : $Author: chatellier $
*/
-public class AnalyzePlanParametersTableCellEditor extends ParameterTableCellEditor {
+public class AnalyzePlanParametersTableCellEditor extends
+ ParameterTableCellEditor {
/** serialVersionUID. */
private static final long serialVersionUID = 8211639776194497615L;
protected AnalysePlan plan;
-
+
protected List<Class<?>> planParametersTypes;
-
+
/**
* Constructor with rule parameter.
*
@@ -51,15 +52,17 @@
*/
public AnalyzePlanParametersTableCellEditor(AnalysePlan plan) {
super();
-
+
this.plan = plan;
planParametersTypes = new ArrayList<Class<?>>();
//TODO map may be sorted
- Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage.getParameterNames(plan);
+ Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage
+ .getParameterNames(plan);
for (Class<?> type : planParametersNamesAndTypes.values()) {
planParametersTypes.add(type);
}
}
+
/*
* @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int)
*/
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellRenderer.java 2009-06-12 16:39:20 UTC (rev 2374)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellRenderer.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+package fr.ifremer.isisfish.ui.models.analyzeplan;
import java.awt.Component;
@@ -31,7 +31,7 @@
import fr.ifremer.isisfish.util.Doc;
/**
- * Specific editor for rule parameters.
+ * Specific renderer for plan parameters.
*
* @author chatellier
* @version $Revision: 1.0 $
@@ -39,13 +39,14 @@
* Last update : $Date: 9 juin 2009 $
* By : $Author: chatellier $
*/
-public class AnalyzePlanParametersTableCellRenderer extends DefaultTableCellRenderer implements TableCellRenderer {
+public class AnalyzePlanParametersTableCellRenderer extends
+ DefaultTableCellRenderer implements TableCellRenderer {
/** serialVersionUID. */
private static final long serialVersionUID = -1655744662816030649L;
protected AnalysePlan plan;
-
+
public AnalyzePlanParametersTableCellRenderer(AnalysePlan plan) {
this.plan = plan;
}
@@ -56,20 +57,20 @@
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
-
+
// this must be used to have alterned highlight rows and default
// selection color
- JLabel c = (JLabel)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
-
- String parameterName = (String)value;
+ JLabel c = (JLabel) super.getTableCellRendererComponent(table, value,
+ isSelected, hasFocus, row, column);
+
+ String parameterName = (String) value;
c.setText(parameterName);
-
+
Doc doc = AnalysePlanStorage.getParameterDoc(plan, parameterName);
String documentation = TooltipHelper.docToString(doc);
c.setToolTipText(documentation);
-
+
return c;
}
-
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableModel.java 2009-06-12 16:39:20 UTC (rev 2374)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableModel.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+package fr.ifremer.isisfish.ui.models.analyzeplan;
import static org.codelutin.i18n.I18n._;
@@ -50,21 +50,20 @@
public class AnalyzePlanParametersTableModel extends AbstractTableModel {
/** Log. */
- private static Log log = LogFactory.getLog(MetierSeasonInfoTargetSpeciesModel.class);
-
+ private static Log log = LogFactory
+ .getLog(MetierSeasonInfoTargetSpeciesModel.class);
+
/** serialVersionUID. */
private static final long serialVersionUID = 3169786638868209920L;
/** Columns names. */
- public final static String[] COLUMN_NAMES = {
- _("isisfish.common.name"),
+ public final static String[] COLUMN_NAMES = { _("isisfish.common.name"),
_("isisfish.common.value") };
protected AnalysePlan plan;
-
+
protected List<String> planParametersNames;
-
-
+
/**
* Constructor with data.
*
@@ -73,24 +72,16 @@
public AnalyzePlanParametersTableModel(AnalysePlan plan) {
super();
this.plan = plan;
-
+
//TODO map may be sorted
planParametersNames = new ArrayList<String>();
- Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage.getParameterNames(plan);
+ Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage
+ .getParameterNames(plan);
for (String names : planParametersNamesAndTypes.keySet()) {
planParametersNames.add(names);
}
}
- /**
- * Return analyse plan.
- *
- * @return plan
- */
- public AnalysePlan getAnalysePlan() {
- return plan;
- }
-
/*
* @see javax.swing.table.TableModel#getColumnCount()
*/
@@ -143,7 +134,7 @@
public Class<?> getColumnClass(int columnIndex) {
Class<?> result = null;
-
+
switch (columnIndex) {
case 0:
result = String.class;
@@ -154,7 +145,7 @@
default:
throw new IndexOutOfBoundsException("No such column " + columnIndex);
}
-
+
return result;
}
@@ -179,7 +170,7 @@
*/
@Override
public void setValueAt(Object value, int rowIndex, int columnIndex) {
-
+
if (log.isDebugEnabled()) {
log.debug("Cell edition (column " + columnIndex + ") = " + value);
}
@@ -196,7 +187,8 @@
}
break;
default:
- throw new IndexOutOfBoundsException("Can't edit column " + columnIndex);
+ throw new IndexOutOfBoundsException("Can't edit column "
+ + columnIndex);
}
}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule (from rev 2358, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule)
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboModel.java (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleComboBoxModel.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboModel.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -0,0 +1,102 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.models.rule;
+
+import java.util.List;
+
+import javax.swing.DefaultComboBoxModel;
+
+/**
+ * Model pour la liste des noms de regles.
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class RuleComboModel extends DefaultComboBoxModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /** Analyze plan names. */
+ protected List<String> rulesNames;
+
+ /**
+ * Empty constructor.
+ */
+ public RuleComboModel() {
+ this(null);
+ }
+
+ /**
+ * Constructor with rule names list.
+ *
+ * @param rulesNames exports Names
+ */
+ public RuleComboModel(List<String> rulesNames) {
+ super();
+ setExportNames(rulesNames);
+ }
+
+ /**
+ * Get rule names.
+ *
+ * @return the analyze plan names
+ */
+ public List<String> getExportNames() {
+ return rulesNames;
+ }
+
+ /**
+ * Set rule names.
+ *
+ * @param rulesNames the rule names to set
+ */
+ public void setExportNames(List<String> rulesNames) {
+ this.rulesNames = rulesNames;
+
+ // default first selected
+ if (!rulesNames.isEmpty()) {
+ setSelectedItem(rulesNames.get(0));
+ }
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return rulesNames.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (rulesNames != null) {
+ size = rulesNames.size();
+ }
+ return size;
+ }
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleComboRenderer.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -0,0 +1,89 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.models.rule;
+
+import java.awt.Component;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+
+import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.rule.Rule;
+
+/**
+ * Renderer pour la combo des noms de regles.
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class RuleComboRenderer extends DefaultListCellRenderer implements
+ ListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /** Rule cache. */
+ protected Map<String, Rule> ruleCache;
+
+ /**
+ * Empty constructor.
+ */
+ public RuleComboRenderer() {
+ ruleCache = new HashMap<String, Rule>();
+ }
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel)super.getListCellRendererComponent(list,value,index, isSelected, cellHasFocus);
+
+ String ruleName = (String)value;
+ c.setText(ruleName);
+
+ // c'est tres couteux d'avoir une instance
+ // on les met en cache
+ try {
+ Rule rule = ruleCache.get(ruleName);
+ if (rule == null) {
+ RuleStorage storage = RuleStorage.getRule(ruleName);
+ rule = storage.getNewRuleInstance();
+ ruleCache.put(ruleName, rule);
+ }
+
+ c.setToolTipText(rule.getDescription());
+ } catch (Exception e) {
+ // can't get exception
+ }
+
+ return c;
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListCellRenderer.java (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleListCellRenderer.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListCellRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListCellRenderer.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -0,0 +1,72 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.models.rule;
+
+import java.awt.Component;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+
+import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.rule.Rule;
+
+/**
+ * Rendu des données d'une liste graphique de regles
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class RuleListCellRenderer extends DefaultListCellRenderer implements
+ ListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -948394724922547715L;
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
+ index, isSelected, cellHasFocus);
+
+ if (value != null) {
+ Rule rule = (Rule) value;
+ String ruleName = RuleStorage.getName(rule);
+ c.setText(ruleName);
+
+ try {
+ c.setToolTipText(rule.getDescription());
+ } catch (Exception e) {
+ // can't get exception
+ }
+ }
+
+ return c;
+ }
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleListModel.java 2009-06-09 17:50:12 UTC (rev 2358)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListModel.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-package fr.ifremer.isisfish.ui.simulator.rule;
+package fr.ifremer.isisfish.ui.models.rule;
import java.awt.Component;
import java.util.List;
@@ -38,11 +38,12 @@
* Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
* By : $Author: chatellier $
*/
-public class RuleListModel extends AbstractListModel implements ListCellRenderer {
+public class RuleListModel extends AbstractListModel implements
+ ListCellRenderer {
/** serialVersionUID. */
private static final long serialVersionUID = -4070846632975105788L;
-
+
protected List<Rule> rules;
/**
@@ -51,7 +52,7 @@
public RuleListModel() {
this(null);
}
-
+
/**
* Constructor with rule list.
*
@@ -94,7 +95,7 @@
@Override
public int getSize() {
int size = 0;
-
+
if (rules != null) {
size = rules.size();
}
@@ -107,24 +108,24 @@
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
-
+
Rule rule = rules.get(index);
-
+
JLabel label = new JLabel();
-
+
try {
label.setToolTipText(rule.getDescription());
} catch (Exception e) {
// can't get exception
}
label.setText(RuleStorage.getName(rule));
-
- if(isSelected) {
+
+ if (isSelected) {
label.setBackground(list.getSelectionBackground());
label.setForeground(list.getSelectionForeground());
label.setOpaque(true); // background won't work
}
-
+
return label;
}
}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellEditor.java 2009-06-09 17:50:12 UTC (rev 2358)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -1,70 +0,0 @@
-/* *##%
- * Copyright (C) 2009 Code Lutin
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *##%*/
-
-package fr.ifremer.isisfish.ui.simulator.rule;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import fr.ifremer.isisfish.datastore.RuleStorage;
-import fr.ifremer.isisfish.rule.Rule;
-import fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor;
-
-/**
- * Specific editor for rule parameters.
- *
- * @author chatellier
- * @version $Revision: 1.0 $
- *
- * Last update : $Date: 9 juin 2009 $
- * By : $Author: chatellier $
- */
-public class RuleParametersTableCellEditor extends ParameterTableCellEditor {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = 8211639776194497615L;
-
- protected Rule rule;
-
- protected List<Class<?>> ruleParametersTypes;
-
- /**
- * Constructor with rule parameter.
- *
- * @param rule rule
- */
- public RuleParametersTableCellEditor(Rule rule) {
- super();
-
- this.rule = rule;
- ruleParametersTypes = new ArrayList<Class<?>>();
- //TODO map may be sorted
- Map<String, Class> ruleParametersNamesAndTypes = RuleStorage.getParameterNames(rule);
- for (Class<?> type : ruleParametersNamesAndTypes.values()) {
- ruleParametersTypes.add(type);
- }
- }
- /*
- * @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int)
- */
- @Override
- protected Class<?> getType(Object value, int row, int column) {
- return ruleParametersTypes.get(row);
- }
-}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellEditor.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellEditor.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -0,0 +1,72 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.models.rule;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.rule.Rule;
+import fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor;
+
+/**
+ * Specific editor for rule parameters.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 9 juin 2009 $
+ * By : $Author: chatellier $
+ */
+public class RuleParametersTableCellEditor extends ParameterTableCellEditor {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 8211639776194497615L;
+
+ protected Rule rule;
+
+ protected List<Class<?>> ruleParametersTypes;
+
+ /**
+ * Constructor with rule parameter.
+ *
+ * @param rule rule
+ */
+ public RuleParametersTableCellEditor(Rule rule) {
+ super();
+
+ this.rule = rule;
+ ruleParametersTypes = new ArrayList<Class<?>>();
+ //TODO map may be sorted
+ Map<String, Class<?>> ruleParametersNamesAndTypes = RuleStorage
+ .getParameterNames(rule);
+ for (Class<?> type : ruleParametersNamesAndTypes.values()) {
+ ruleParametersTypes.add(type);
+ }
+ }
+
+ /*
+ * @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int)
+ */
+ @Override
+ protected Class<?> getType(Object value, int row, int column) {
+ return ruleParametersTypes.get(row);
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellRenderer.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -0,0 +1,75 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.models.rule;
+
+import java.awt.Component;
+
+import javax.swing.JLabel;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableCellRenderer;
+
+import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.rule.Rule;
+import fr.ifremer.isisfish.ui.util.TooltipHelper;
+import fr.ifremer.isisfish.util.Doc;
+
+/**
+ * Specific editor for rule parameters.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 9 juin 2009 $
+ * By : $Author: chatellier $
+ */
+public class RuleParametersTableCellRenderer extends DefaultTableCellRenderer
+ implements TableCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -1655744662816030649L;
+
+ protected Rule rule;
+
+ public RuleParametersTableCellRenderer(Rule rule) {
+ this.rule = rule;
+
+ }
+
+ /*
+ * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
+ */
+ @Override
+ public Component getTableCellRendererComponent(JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column) {
+
+ JLabel c = (JLabel) super.getTableCellRendererComponent(table, value,
+ isSelected, hasFocus, row, column);
+
+ String parameterName = (String) value;
+ c.setText(parameterName);
+
+ Doc doc = RuleStorage.getParameterDoc(rule, parameterName);
+ String documentation = TooltipHelper.docToString(doc);
+ c.setToolTipText(documentation);
+
+ return c;
+ }
+
+}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableModel.java 2009-06-09 17:50:12 UTC (rev 2358)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -1,193 +0,0 @@
-/* *##%
- * Copyright (C) 2009 Code Lutin
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *##%*/
-
-package fr.ifremer.isisfish.ui.simulator.rule;
-
-import static org.codelutin.i18n.I18n._;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.swing.table.AbstractTableModel;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import fr.ifremer.isisfish.IsisFishException;
-import fr.ifremer.isisfish.datastore.RuleStorage;
-import fr.ifremer.isisfish.rule.Rule;
-import fr.ifremer.isisfish.ui.input.metier.MetierSeasonInfoTargetSpeciesModel;
-
-/**
- * Model de la table de definition de parametre d'une regle.
- *
- * Columns :
- * <li>Parameter name</li>
- * <li>Parameter value</li>
- *
- * @author chatellier
- * @version $Revision: 2350 $
- *
- * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
- * By : $Author: chatellier $
- */
-public class RuleParametersTableModel extends AbstractTableModel {
-
- /** Log. */
- private static Log log = LogFactory.getLog(MetierSeasonInfoTargetSpeciesModel.class);
-
- /** serialVersionUID. */
- private static final long serialVersionUID = 3169786638868209920L;
-
- /** Columns names. */
- public final static String[] COLUMN_NAMES = {
- _("isisfish.common.name"),
- _("isisfish.common.value") };
-
- protected Rule rule;
- protected List<String> ruleParametersNames;
-
-
- /**
- * Constructor with data.
- *
- * @param rule rule to edit parameters
- */
- public RuleParametersTableModel(Rule rule) {
- super();
- this.rule = rule;
-
- //TODO map may be sorted
- ruleParametersNames = new ArrayList<String>();
- Map<String, Class> ruleParametersNamesAndTypes = RuleStorage.getParameterNames(rule);
- for (String names : ruleParametersNamesAndTypes.keySet()) {
- ruleParametersNames.add(names);
- }
- }
-
- /*
- * @see javax.swing.table.TableModel#getColumnCount()
- */
- @Override
- public int getColumnCount() {
- return COLUMN_NAMES.length;
- }
-
- /*
- * @see javax.swing.table.TableModel#getRowCount()
- */
- @Override
- public int getRowCount() {
- return ruleParametersNames.size();
- }
-
- /*
- * @see javax.swing.table.TableModel#getValueAt(int, int)
- */
- @Override
- public Object getValueAt(int rowIndex, int columnIndex) {
-
- Object result = null;
-
- String name = ruleParametersNames.get(rowIndex);
- switch (columnIndex) {
- case 0:
- result = name;
- break;
- case 1:
- try {
- result = RuleStorage.getParameterValue(rule, name);
- } catch (IsisFishException e) {
- if (log.isErrorEnabled()) {
- log.debug("Can't get parameters value", e);
- }
- }
- break;
- default:
- throw new IndexOutOfBoundsException("No such column " + columnIndex);
- }
-
- return result;
- }
-
- /*
- * @see javax.swing.table.TableModel#getColumnClass(int)
- */
- @Override
- public Class<?> getColumnClass(int columnIndex) {
-
- Class<?> result = null;
-
- switch (columnIndex) {
- case 0:
- result = String.class;
- break;
- case 1:
- result = Object.class;
- break;
- default:
- throw new IndexOutOfBoundsException("No such column " + columnIndex);
- }
-
- return result;
- }
-
- /*
- * @see javax.swing.table.TableModel#getColumnName(int)
- */
- @Override
- public String getColumnName(int columnIndex) {
- return COLUMN_NAMES[columnIndex];
- }
-
- /*
- * @see javax.swing.table.TableModel#isCellEditable(int, int)
- */
- @Override
- public boolean isCellEditable(int rowIndex, int columnIndex) {
- return columnIndex > 0;
- }
-
- /*
- * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int)
- */
- @Override
- public void setValueAt(Object value, int rowIndex, int columnIndex) {
-
- if (log.isDebugEnabled()) {
- log.debug("Cell edition (column " + columnIndex + ") = " + value);
- }
-
- String name = ruleParametersNames.get(rowIndex);
- switch (columnIndex) {
- case 1:
- try {
- RuleStorage.setParameterValue(rule, name, value);
- } catch (IsisFishException e) {
- if (log.isErrorEnabled()) {
- log.error("Can't set parameter value");
- }
- }
- break;
- default:
- throw new IndexOutOfBoundsException("Can't edit column " + columnIndex);
- }
-
- }
-}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java (from rev 2374, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableModel.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -0,0 +1,194 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.models.rule;
+
+import static org.codelutin.i18n.I18n._;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.swing.table.AbstractTableModel;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.rule.Rule;
+import fr.ifremer.isisfish.ui.input.metier.MetierSeasonInfoTargetSpeciesModel;
+
+/**
+ * Model de la table de definition de parametre d'une regle.
+ *
+ * Columns :
+ * <li>Parameter name</li>
+ * <li>Parameter value</li>
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class RuleParametersTableModel extends AbstractTableModel {
+
+ /** Log. */
+ private static Log log = LogFactory
+ .getLog(MetierSeasonInfoTargetSpeciesModel.class);
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 3169786638868209920L;
+
+ /** Columns names. */
+ public final static String[] COLUMN_NAMES = { _("isisfish.common.name"),
+ _("isisfish.common.value") };
+
+ protected Rule rule;
+ protected List<String> ruleParametersNames;
+
+ /**
+ * Constructor with data.
+ *
+ * @param rule rule to edit parameters
+ */
+ public RuleParametersTableModel(Rule rule) {
+ super();
+ this.rule = rule;
+
+ //TODO map may be sorted
+ ruleParametersNames = new ArrayList<String>();
+ Map<String, Class<?>> ruleParametersNamesAndTypes = RuleStorage
+ .getParameterNames(rule);
+ for (String names : ruleParametersNamesAndTypes.keySet()) {
+ ruleParametersNames.add(names);
+ }
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnCount()
+ */
+ @Override
+ public int getColumnCount() {
+ return COLUMN_NAMES.length;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getRowCount()
+ */
+ @Override
+ public int getRowCount() {
+ return ruleParametersNames.size();
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getValueAt(int, int)
+ */
+ @Override
+ public Object getValueAt(int rowIndex, int columnIndex) {
+
+ Object result = null;
+
+ String name = ruleParametersNames.get(rowIndex);
+ switch (columnIndex) {
+ case 0:
+ result = name;
+ break;
+ case 1:
+ try {
+ result = RuleStorage.getParameterValue(rule, name);
+ } catch (IsisFishException e) {
+ if (log.isErrorEnabled()) {
+ log.debug("Can't get parameters value", e);
+ }
+ }
+ break;
+ default:
+ throw new IndexOutOfBoundsException("No such column " + columnIndex);
+ }
+
+ return result;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnClass(int)
+ */
+ @Override
+ public Class<?> getColumnClass(int columnIndex) {
+
+ Class<?> result = null;
+
+ switch (columnIndex) {
+ case 0:
+ result = String.class;
+ break;
+ case 1:
+ result = Object.class;
+ break;
+ default:
+ throw new IndexOutOfBoundsException("No such column " + columnIndex);
+ }
+
+ return result;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnName(int)
+ */
+ @Override
+ public String getColumnName(int columnIndex) {
+ return COLUMN_NAMES[columnIndex];
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#isCellEditable(int, int)
+ */
+ @Override
+ public boolean isCellEditable(int rowIndex, int columnIndex) {
+ return columnIndex > 0;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int)
+ */
+ @Override
+ public void setValueAt(Object value, int rowIndex, int columnIndex) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Cell edition (column " + columnIndex + ") = " + value);
+ }
+
+ String name = ruleParametersNames.get(rowIndex);
+ switch (columnIndex) {
+ case 1:
+ try {
+ RuleStorage.setParameterValue(rule, name, value);
+ } catch (IsisFishException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't set parameter value");
+ }
+ }
+ break;
+ default:
+ throw new IndexOutOfBoundsException("Can't edit column "
+ + columnIndex);
+ }
+
+ }
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-06-12 16:44:18 UTC (rev 2375)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-06-12 17:35:02 UTC (rev 2376)
@@ -74,8 +74,7 @@
DefaultTableModel model = new DefaultTableModel(columnName, tagValue.size()){
@Override
public boolean isCellEditable(int row, int column) {
- boolean result = false;
- return result;
+ return false;
}
};
Set<Entry<String, String>> set = tagValue.entrySet();
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-06-12 16:44:18 UTC (rev 2375)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-06-12 17:35:02 UTC (rev 2376)
@@ -36,12 +36,13 @@
import fr.ifremer.isisfish.entities.FisheryRegionImpl;
import fr.ifremer.isisfish.datastore.StorageException;
import fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener;
-import fr.ifremer.isisfish.ui.simulator.rule.RuleComboBoxModel;
-import fr.ifremer.isisfish.ui.simulator.rule.RuleListCellRenderer;
-import fr.ifremer.isisfish.ui.simulator.rule.RuleListModel;
-import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableModel;
-import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableCellEditor;
-import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableCellRenderer;
+import fr.ifremer.isisfish.ui.models.rule.RuleComboModel;
+import fr.ifremer.isisfish.ui.models.rule.RuleComboRenderer;
+import fr.ifremer.isisfish.ui.models.rule.RuleListCellRenderer;
+import fr.ifremer.isisfish.ui.models.rule.RuleListModel;
+import fr.ifremer.isisfish.ui.models.rule.RuleParametersTableModel;
+import fr.ifremer.isisfish.ui.models.rule.RuleParametersTableCellEditor;
+import fr.ifremer.isisfish.ui.models.rule.RuleParametersTableCellRenderer;
import fr.ifremer.isisfish.rule.Rule;
// instances variables déclaration
@@ -322,8 +323,8 @@
}
}
protected void addRules() {
- Rule selectedRule = (Rule)fieldSimulParamsMesuresSelect.getSelectedItem();
- simulAction.addNewRule(selectedRule);
+ String selectedRuleName = (String)fieldSimulParamsMesuresSelect.getSelectedItem();
+ simulAction.addNewRule(selectedRuleName);
setRulesListModel();
}
protected void removeRules() {
@@ -522,7 +523,7 @@
</row>
<row>
<cell fill="horizontal">
- <JComboBox id="fieldSimulParamsMesuresSelect" model='{new RuleComboBoxModel(simulAction.getAvailableRules())}' renderer='{new RuleListCellRenderer()}'/>
+ <JComboBox id="fieldSimulParamsMesuresSelect" model='{new RuleComboModel(simulAction.getAvailableRuleNames())}' renderer='{new RuleComboRenderer()}'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2009-06-12 16:44:18 UTC (rev 2375)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2009-06-12 17:35:02 UTC (rev 2376)
@@ -23,13 +23,13 @@
<script><![CDATA[
import javax.swing.table.DefaultTableModel;
import fr.ifremer.isisfish.simulator.AnalysePlan;
- import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanComboModel;
- import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanComboRenderer;
- import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanListModel;
- import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanListRenderer;
- import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanParametersTableModel;
- import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanParametersTableCellEditor;
- import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanParametersTableCellRenderer;
+ import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanComboModel;
+ import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanComboRenderer;
+ import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanListModel;
+ import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanListRenderer;
+ import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanParametersTableModel;
+ import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanParametersTableCellEditor;
+ import fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanParametersTableCellRenderer;
public void refresh() {
// analyse plans names list
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-06-12 16:44:18 UTC (rev 2375)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-06-12 17:35:02 UTC (rev 2376)
@@ -353,10 +353,9 @@
*
* Get a new instance of ruleItem, and add it to rule list.
*
- * @param ruleItem rule to get copy
+ * @param ruleName rule to get copy
*/
- public void addNewRule(Rule ruleItem) {
- String ruleName = RuleStorage.getName(ruleItem);
+ public void addNewRule(String ruleName) {
try {
RuleStorage ruleStorage = RuleStorage.getRule(ruleName);
Rule ruleTmp = ruleStorage.getNewRuleInstance();
@@ -386,19 +385,12 @@
*
* @return instance rule list
*/
- public List<Rule> getAvailableRules() {
- List<Rule> result = new ArrayList<Rule>();
+ public List<String> getAvailableRuleNames() {
+ List<String> result = new ArrayList<String>();
for (String ruleName : RuleStorage.getRuleNames()) {
- try {
- // remove last .java
- String shortRuleName = ruleName.substring(0, ruleName.length() - 5);
- Rule rule = RuleStorage.getRule(shortRuleName).getNewRuleInstance();
- result.add(rule);
- } catch (IsisFishException e) {
- if (log.isErrorEnabled()) {
- log.error("Can't get rule instance", e);
- }
- }
+ // remove last .java
+ String shortRuleName = ruleName.substring(0, ruleName.length() - 5);
+ result.add(shortRuleName);
}
return result;
}
1
0
r2375 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
12 Jun '09
Author: chatellier
Date: 2009-06-12 16:44:18 +0000 (Fri, 12 Jun 2009)
New Revision: 2375
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx
Log:
Add _ i18n method
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-06-12 16:39:20 UTC (rev 2374)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-06-12 16:44:18 UTC (rev 2375)
@@ -69,7 +69,7 @@
Map<String, String> tagValue = getContextValue(SimulAction.class).getSimulationParameter().getTagValue();
// TODO make a table model for it
- String columnName[] = {"isisfish.common.tag", "isisfish.common.value"};
+ String columnName[] = { _("isisfish.common.tag"), _("isisfish.common.value")};
if (tagValue != null) {
DefaultTableModel model = new DefaultTableModel(columnName, tagValue.size()){
@Override
1
0
r2374 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish: datastore rule ui ui/simulator ui/simulator/analyzeplan ui/simulator/rule ui/util
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
12 Jun '09
Author: chatellier
Date: 2009-06-12 16:39:20 +0000 (Fri, 12 Jun 2009)
New Revision: 2374
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellEditor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/TooltipHelper.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/AnalysePlanStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/RuleHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ToolTipListModelFactory.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleComboBoxModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleListCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellEditor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableModel.java
Log:
Refactor AnalysePlan models.
Improve rules models.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/AnalysePlanStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/AnalysePlanStorage.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/AnalysePlanStorage.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -59,8 +59,6 @@
private static Log log = LogFactory.getLog(AnalysePlanStorage.class);
public final static String ANALYSE_PLAN_PATH = "analyseplans";
-
- private final static String PARAM_PREFIX = "param_";
/** Template freemarker pour les plans d'analyse . */
public static final String ANALYSE_PLAN_TEMPLATE = "templates/script/analyseplan.ftl";
@@ -333,8 +331,7 @@
* (says the field PARAM_PREFIX+fieldName)
*/
public Doc getParamDoc(String paramName) {
- Doc doc;
- doc = getFieldDoc(PARAM_PREFIX + paramName);
+ Doc doc = getFieldDoc(PARAM_PREFIX + paramName);
return doc;
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -57,9 +57,6 @@
/** Class logger. */
private static Log log = LogFactory.getLog(ExportStorage.class);
- /** Prefix des noms de paramètres. */
- private final static String PARAM_PREFIX = "param_";
-
public static final String EXPORT_PATH = "exports";
/** Template freemarker pour les scripts d'export . */
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -27,7 +27,10 @@
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.simulator.AnalysePlan;
import fr.ifremer.isisfish.util.CompileHelper;
+import fr.ifremer.isisfish.util.Doc;
+import fr.ifremer.isisfish.util.DocHelper;
import fr.ifremer.isisfish.util.JavadocHelper;
/**
@@ -48,6 +51,8 @@
*/
public abstract class JavaSourceStorage extends CodeSourceStorage {
+ protected static final String PARAM_PREFIX = "param_";
+
/**
* Build a new java source storage.
*
@@ -159,4 +164,16 @@
}
return result;
}
+
+ /**
+ * Get doc of parameter.
+ *
+ * @param object object containing parameter
+ * @param paramName parameter name
+ * @return {@link Doc} annotation
+ */
+ public static Doc getParameterDoc(Object object, String paramName) {
+ Doc result = DocHelper.getFieldDoc(object.getClass(), PARAM_PREFIX + paramName);
+ return result;
+ }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/RuleStorage.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -63,8 +63,6 @@
public static final String RULE_PATH = "rules";
- private final static String PARAM_PREFIX = "param_";
-
/** Template freemarker pour les regles. */
public static final String RULE_TEMPLATE = "templates/script/rule.ftl";
@@ -135,8 +133,8 @@
* @throws IsisFishException s'il est impossible de retourner une map
* convenable
*/
- public Map<String, Class> getParameterNames() throws IsisFishException {
- Map<String, Class> result = null;
+ public Map<String, Class<?>> getParameterNames() throws IsisFishException {
+ Map<String, Class<?>> result = null;
// On essai de recuperer les paramètres depuis la classe compilé
// si c possible
try {
@@ -175,8 +173,8 @@
* @param rule the rule to inspect
* @return the list of parameters for a given rule
*/
- static public Map<String, Class> getParameterNames(Rule rule) {
- Map<String, Class> result = new LinkedHashMap<String, Class>();
+ static public Map<String, Class<?>> getParameterNames(Rule rule) {
+ Map<String, Class<?>> result = new LinkedHashMap<String, Class<?>>();
for (Field field : rule.getClass().getFields()) {
if (field.getName().startsWith(PARAM_PREFIX)) {
result.put(field.getName().substring(PARAM_PREFIX.length()),
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/RuleHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/RuleHelper.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/RuleHelper.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -65,9 +65,9 @@
String ruleName = RuleStorage.getName(rule);
String paramTag = "rule." + ruleIndex + ".parameter.";
- for (Map.Entry<String, Class> entry : RuleStorage.getParameterNames(rule).entrySet()) {
+ for (Map.Entry<String, Class<?>> entry : RuleStorage.getParameterNames(rule).entrySet()) {
String propName = entry.getKey();
- Class type = entry.getValue();
+ Class<?> type = entry.getValue();
if (TopiaEntity.class.isAssignableFrom(type)) {
type = TopiaEntity.class;
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx 2009-06-12 16:39:20 UTC (rev 2374)
@@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-->
-<JFrame id='isisfishFrame' title="isisfish.welcome.title" width='874' height='736' resizable="true" layout='{new BorderLayout()}'>
+<JFrame title="isisfish.welcome.title" width='874' height='736' resizable="true" layout='{new BorderLayout()}'>
<script><![CDATA[
import static org.codelutin.i18n.I18n._;
import javax.swing.JFrame;
@@ -48,6 +48,11 @@
allFrameOpened = new java.util.HashMap<JFrame, WelcomePanelUI>();
welcomePanelUI.setContent(new WelcomeTabUI(new JAXXInitialContext().add(getVerifier()).add(regionMonitor)));
+ // increase tooltip display time
+ ToolTipManager toolTipManager = ToolTipManager.sharedInstance();
+ toolTipManager.setInitialDelay(0);
+ toolTipManager.setDismissDelay(60000);
+
protected void openFrame(Container c, String title) {
JFrame f = new JFrame();
f.setLayout(new BorderLayout());
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-06-12 16:39:20 UTC (rev 2374)
@@ -41,6 +41,7 @@
import fr.ifremer.isisfish.ui.simulator.rule.RuleListModel;
import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableModel;
import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableCellEditor;
+import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableCellRenderer;
import fr.ifremer.isisfish.rule.Rule;
// instances variables déclaration
@@ -313,8 +314,10 @@
Rule selectedRule = listModel.getRules().get(selectedRuleIndex);
RuleParametersTableModel model = new RuleParametersTableModel(selectedRule);
RuleParametersTableCellEditor cellEditor = new RuleParametersTableCellEditor(selectedRule);
+ RuleParametersTableCellRenderer cellRenderer = new RuleParametersTableCellRenderer(selectedRule);
cellEditor.setRegion(simulAction.getRegionStorage());
simulParamsRules.setModel(model);
+ simulParamsRules.getColumnModel().getColumn(0).setCellRenderer(cellRenderer);
simulParamsRules.getColumnModel().getColumn(1).setCellEditor(cellEditor);
}
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2009-06-12 16:39:20 UTC (rev 2374)
@@ -16,136 +16,124 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
- -->
+-->
<Table>
-<script><![CDATA[
- import javax.swing.DefaultComboBoxModel;
+ <SimulAction id='simulAction' javaBean='getContextValue(SimulAction.class)' />
+
+ <script><![CDATA[
import javax.swing.table.DefaultTableModel;
- import javax.swing.table.TableModel;
- import fr.ifremer.isisfish.ui.widget.editor.ParameterColumnEditor;
- import javax.swing.table.TableColumn;
- import fr.ifremer.isisfish.ui.widget.renderer.SimpleToolTipTableColumnRenderer;
- import fr.ifremer.isisfish.ui.widget.renderer.SimpleToolTipComboBoxRenderer;
- import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
import fr.ifremer.isisfish.simulator.AnalysePlan;
- import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
- import jaxx.runtime.swing.Item;
-
- public SensUI (SimulAction action) {
- setContextValue(action);
- }
-
+ import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanComboModel;
+ import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanComboRenderer;
+ import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanListModel;
+ import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanListRenderer;
+ import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanParametersTableModel;
+ import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanParametersTableCellEditor;
+ import fr.ifremer.isisfish.ui.simulator.analyzeplan.AnalyzePlanParametersTableCellRenderer;
+
public void refresh() {
- java.util.List<Item> items = new ArrayList<Item>();
- java.util.List<AnalysePlan> values = getContextValue(SimulAction.class).getParamAnalysePlans();
- for (AnalysePlan ap : values) {
- items.add(new Item(ap.toString(), AnalysePlanStorage.getName(ap), ap, false));
- }
- listSimulParamsAnalysePlansList.setItems(items);
- // Tooltip here break Name display
- //listSimulParamsAnalysePlansList.setCellRenderer(new SimpleToolTipComboBoxRenderer(ToolTipListModelFactory.createAnalysePlanDescriptionsModel2(values, buttonSimulParamsAnalysePlansClear, listSimulParamsAnalysePlansList)));
- setSimulParamsAnalysePlans();
+ // analyse plans names list
+ fieldSimulParamsAnalysePlansSelect.setModel(getAnalyzePlansComboModel());
+ // simulation analyse plans instance
+ listSimulParamsAnalysePlansList.setModel(getSimulationAnalyzePlansListModel());
}
+
+ /**
+ * Refresh analyze plan names list.
+ */
+ protected AnalyzePlanComboModel getAnalyzePlansComboModel() {
+ java.util.List<String> analyzePlanNames = simulAction.getAnalysePlanNames();
+ AnalyzePlanComboModel model = new AnalyzePlanComboModel(analyzePlanNames);
+ /*fieldSimulParamsAnalysePlansSelect.setModel(model);
+ fieldSimulParamsAnalysePlansSelect.setRenderer(new AnalyzePlanComboRenderer());*/
+ return model;
+ }
- public void addAnalysePlan() {
- getContextValue(SimulAction.class).addAnalysePlan(fieldSimulParamsAnalysePlansSelect.getSelectedItem().toString());
- setAnalysePlanButton();
- refresh();
+ /**
+ * Refresh simulation analyze plan list.
+ */
+ protected AnalyzePlanListModel getSimulationAnalyzePlansListModel() {
+ java.util.List<AnalysePlan> analyzePlans = simulAction.getParamAnalysePlans();
+ AnalyzePlanListModel model = new AnalyzePlanListModel(analyzePlans);
+ /*listSimulParamsAnalysePlansList.setModel(model);
+ listSimulParamsAnalysePlansList.setCellRenderer(new AnalyzePlanListRenderer());*/
+ return model;
}
+
+ protected void addAnalysePlan() {
+ String selectedAnalyzePlanName = (String)fieldSimulParamsAnalysePlansSelect.getSelectedItem();
+ simulAction.addAnalysePlan(selectedAnalyzePlanName);
+ listSimulParamsAnalysePlansList.setModel(getSimulationAnalyzePlansListModel());
+ setAnalysePlanButtons();
+ }
- public void removeAnalysePlan() {
- getContextValue(SimulAction.class).removeAnalysePlan((AnalysePlan)listSimulParamsAnalysePlansList.getSelectedValue());
- refresh();
+ protected void removeAnalysePlan() {
+ AnalysePlan selectedAnalyzePlan = (AnalysePlan)listSimulParamsAnalysePlansList.getSelectedValue();
+ simulAction.removeAnalysePlan(selectedAnalyzePlan);
+ listSimulParamsAnalysePlansList.setModel(getSimulationAnalyzePlansListModel());
+ setAnalysePlanButtons();
}
- public void clearAnalysePlan() {
- getContextValue(SimulAction.class).clearAnalysePlan();
- refresh();
+ protected void clearAnalysePlan() {
+ simulAction.clearAnalysePlans();
+ listSimulParamsAnalysePlansList.setModel(getSimulationAnalyzePlansListModel());
+ setAnalysePlanButtons();
}
- protected void setAnalysePlanButton() {
- if (getContextValue(SimulAction.class).getParamAnalysePlans().toArray().length == 0) {
- buttonSimulParamsAnalysePlansClear.setEnabled(false);
- buttonSimulParamsAnalysePlansRemove.setEnabled(false);
- }
- else {
+ protected void setAnalysePlanButtons() {
+ if (getContextValue(SimulAction.class).getParamAnalysePlans().isEmpty()) {
+ buttonSimulParamsAnalysePlansClear.setEnabled(false);
+ buttonSimulParamsAnalysePlansRemove.setEnabled(false);
+ }
+ else {
if (listSimulParamsAnalysePlansList.getSelectedIndex() != -1) {
buttonSimulParamsAnalysePlansRemove.setEnabled(true);
- setSimulParamsAnalysePlans();
}
+ else {
+ buttonSimulParamsAnalysePlansRemove.setEnabled(false);
+ }
buttonSimulParamsAnalysePlansClear.setEnabled(true);
- }
+ }
+ setSimulParamsAnalysePlans();
}
protected void setSimulParamsAnalysePlans() {
- if (listSimulParamsAnalysePlansList.getSelectedIndex() != -1) {
- AnalysePlan analysePlan = (AnalysePlan)listSimulParamsAnalysePlansList.getSelectedValue();
- Map<String, Class<?>> values = getContextValue(SimulAction.class).getAnalysePlanParameterName(analysePlan);
- int row = 0;
- if (values != null) {
- DefaultTableModel model = new DefaultTableModel() {
- @Override
- public boolean isCellEditable(int row, int column) {
- boolean result = false;
- if (column > 0){
- result =true;
- }
- return result;
- }
- };
- java.util.List<GenericCell> valuesList = new ArrayList<GenericCell>();
- java.util.List<Object> propertyList = new ArrayList<Object>();
- for (Iterator<String> it = values.keySet().iterator(); it.hasNext();) {
- String name = it.next();
- Object properties = getContextValue(SimulAction.class).getAnalysePlanParameterValue(name, (AnalysePlan)listSimulParamsAnalysePlansList.getSelectedValue());
- GenericCell value = new GenericCell(name, values.get(name), null);
- valuesList.add(value);
- propertyList.add(properties);
- row++;
- }
- model.addColumn(_("isisfish.common.name"), valuesList.toArray());
- model.addColumn(_("isisfish.common.value"), propertyList.toArray());
- simulParamsAnalysePlans.setModel(model);
- ParameterColumnEditor cellEditor = new ParameterColumnEditor();
- cellEditor.setRegion(getContextValue(SimulAction.class).getRegionStorage());
- simulParamsAnalysePlans.getColumnModel().getColumn(1).setCellEditor(cellEditor);
- simulParamsAnalysePlans.getModel().addTableModelListener(new TableModelListener() {
- @Override
- public void tableChanged(TableModelEvent e) {
- int row = e.getFirstRow();
- TableModel model = (TableModel)e.getSource();
- GenericCell data = (GenericCell) model.getValueAt(row, 0);
- getContextValue(SimulAction.class).setAnalysePlanParameterValue(data.getName(), (AnalysePlan)listSimulParamsAnalysePlansList.getSelectedValue(), model.getValueAt(row, 1));
- }
- });
- simulParamsAnalysePlans.getColumnModel().getColumn(0).setCellRenderer(new SimpleToolTipTableColumnRenderer(ToolTipListModelFactory.createAnalysePlanParamsModel(AnalysePlanStorage.getName(analysePlan))));
- }
+ AnalysePlan selectedAnalyzePlan = (AnalysePlan)listSimulParamsAnalysePlansList.getSelectedValue();
+ if (selectedAnalyzePlan != null) {
+ AnalyzePlanParametersTableModel model = new AnalyzePlanParametersTableModel(selectedAnalyzePlan);
+ simulParamsAnalysePlans.setModel(model);
+ AnalyzePlanParametersTableCellEditor cellEditor = new AnalyzePlanParametersTableCellEditor(selectedAnalyzePlan);
+ cellEditor.setRegion(simulAction.getRegionStorage());
+ simulParamsAnalysePlans.getColumnModel().getColumn(0).setCellRenderer(new AnalyzePlanParametersTableCellRenderer(selectedAnalyzePlan));
+ simulParamsAnalysePlans.getColumnModel().getColumn(1).setCellEditor(cellEditor);
}
+ else {
+ // clear table
+ simulParamsAnalysePlans.setModel(new DefaultTableModel());
+ }
}
- protected void backParameter(){
+
+ protected void backParameter() {
+ // TODO remove getParentContainer() use
SimulUI simul = getParentContainer(SimulUI.class);
simul.selTab(0);
}
- protected DefaultComboBoxModel getAnalysePlansSelectModel(){
- java.util.List values = getContextValue(SimulAction.class).getAnalysePlanNames();
- fieldSimulParamsAnalysePlansSelect.setRenderer(new SimpleToolTipComboBoxRenderer(ToolTipListModelFactory.createAnalysePlanDescriptionsModel(values)));
- return new DefaultComboBoxModel(values.toArray());
- }
]]>
</script>
<row>
<cell columns="2" fill="horizontal" weightx="1.0">
- <JComboBox id="fieldSimulParamsAnalysePlansSelect" model='{getAnalysePlansSelectModel()}'/>
+ <JComboBox id="fieldSimulParamsAnalysePlansSelect" model='{getAnalyzePlansComboModel()}' renderer='{new AnalyzePlanComboRenderer()}' />
</cell>
</row>
<row>
<cell fill="both" weightx="0.5">
<JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
- <JList id="listSimulParamsAnalysePlansList" selectionMode="0" model='{new DefaultComboBoxModel(getContextValue(SimulAction.class).getParamAnalysePlans().toArray())}' onValueChanged='setAnalysePlanButton()'/>
+ <JList id="listSimulParamsAnalysePlansList" selectionMode="{javax.swing.ListSelectionModel.SINGLE_SELECTION}"
+ onValueChanged='setAnalysePlanButtons()' model='{getSimulationAnalyzePlansListModel()}' cellRenderer='{new AnalyzePlanListRenderer()}'/>
</JScrollPane>
</cell>
<cell fill="both" weightx="0.5">
- <Table id="simulSens" name="isisfish.sens.title">
+ <Table name="isisfish.sens.title">
<row>
<cell fill="both" weightx="1.0">
<JButton id="buttonSimulParamsAnalysePlansAdd" text="isisfish.common.add" onActionPerformed='addAnalysePlan()'/>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -102,7 +102,6 @@
protected SimulationParameter param = null;
protected RegionStorage regionStorage = null;
protected SimulationStorage simulStorage = null;
- protected List<String> analysePlan = null;
protected Map<SensitivityExport, String> sensitivityExports = new HashMap<SensitivityExport, String>();
protected List<String> oldSimulNames = null;
@@ -143,7 +142,6 @@
param.setExportDirectory(IsisFish.config
.getDefaultExportDirectory().toString());
param.setExportNames(IsisFish.config.getDefaultExportNamesAsList());
- analysePlan = AnalysePlanStorage.getAnalysePlanNames();
List<String> defaultResultNames = IsisFish.config
.getDefaultResultNamesAsList();
if (defaultResultNames != null) {
@@ -618,13 +616,13 @@
return IsisFish.config.getDefaultResultNamesAsList();
}
- /*
- * SensUI
+ /**
+ * Return Analyse plan names list.
+ *
+ * @return Analyse plan names
*/
-
- // Gestion des analysePlans
public List<String> getAnalysePlanNames() {
- return analysePlan;
+ return AnalysePlanStorage.getAnalysePlanNames();
}
public List<AnalysePlan> getParamAnalysePlans() {
@@ -648,7 +646,7 @@
getSimulationParameter().removeAnalysePlan(ap);
}
- public void clearAnalysePlan() {
+ public void clearAnalysePlans() {
getSimulationParameter().clearPlans();
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx 2009-06-12 16:39:20 UTC (rev 2374)
@@ -18,9 +18,8 @@
*##%*/
-->
<JPanel layout='{new BorderLayout()}'>
+
<script><![CDATA[
- import org.dom4j.DocumentHelper;
- import org.dom4j.Element;
import jaxx.runtime.JAXXInitialContext;
import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputSaveVerifier;
@@ -30,11 +29,6 @@
public SimulUI(SimulAction action) {
setContextValue(action);
-
- // increase tooltip display time
- ToolTipManager toolTipManager = ToolTipManager.sharedInstance();
- toolTipManager.setInitialDelay(0);
- toolTipManager.setDismissDelay(60000);
}
protected void enablePreSimul(boolean selected) {
simulTabs.setEnabledAt(1, selected);
@@ -51,7 +45,7 @@
sensUI.refresh();
exportUI.refresh();
resultChoiceUI.refresh();
- advencedParamsUI.refresh();
+ advancedParamsUI.refresh();
}
// TODO duplicated code (simulUI, Params UI, SensitivityUI)
protected void importSimulation() {
@@ -86,22 +80,22 @@
</JMenuBar>
<JTabbedPane id="simulTabs" constraints='BorderLayout.CENTER'>
<tab id="paramsUITab" title='isisfish.params.title'>
- <ParamsUI id="paramsUI" constructorParams='this'/>
+ <ParamsUI id="paramsUI" constructorParams='this' />
</tab>
<tab id="preScriptUITab" title='isisfish.preScript.title' enabled='false'>
- <PreScriptsUI id="preSciptUI" constructorParams='this'/>
+ <PreScriptsUI id="preSciptUI" constructorParams='this' />
</tab>
<tab id="sensUITab" title='isisfish.sens.title' enabled='false'>
- <SensUI id="sensUI" constructorParams='this'/>
+ <SensUI id="sensUI" constructorParams='this' />
</tab>
<tab id="exportUITab" title='isisfish.export.title'>
- <ExportUI id="exportUI" constructorParams='this'/>
+ <ExportUI id="exportUI" constructorParams='this' />
</tab>
<tab id="resultChoiceUITab" title='isisfish.resultChoice.title'>
- <ResultChoiceUI id="resultChoiceUI" constructorParams='this'/>
+ <ResultChoiceUI id="resultChoiceUI" constructorParams='this' />
</tab>
<tab id="advancedParamsUITab" title='isisfish.advancedParameters.title'>
- <AdvancedParamsUI id="advencedParamsUI" constructorParams='this'/>
+ <AdvancedParamsUI id="advancedParamsUI" constructorParams='this' />
</tab>
</JTabbedPane>
</JPanel>
\ No newline at end of file
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ToolTipListModelFactory.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ToolTipListModelFactory.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ToolTipListModelFactory.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -251,7 +251,7 @@
try {
RuleStorage storage = RuleStorage.getRule(ruleName);
- Map<String, Class> mapParams = storage.getParameterNames();
+ Map<String, Class<?>> mapParams = storage.getParameterNames();
if (!mapParams.isEmpty()) {
for (String paramName : mapParams.keySet()) {
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboModel.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -0,0 +1,102 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+
+import java.util.List;
+
+import javax.swing.DefaultComboBoxModel;
+
+/**
+ * Model pour la liste des plans d'analyse.
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class AnalyzePlanComboModel extends DefaultComboBoxModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /** Analyze plan names. */
+ protected List<String> analyzePlanNames;
+
+ /**
+ * Empty constructor.
+ */
+ public AnalyzePlanComboModel() {
+ this(null);
+ }
+
+ /**
+ * Constructor with rule list.
+ *
+ * @param analyzePlanNames analysePlan Names
+ */
+ public AnalyzePlanComboModel(List<String> analyzePlanNames) {
+ super();
+ setAnalyzePlanNames(analyzePlanNames);
+ }
+
+ /**
+ * Get analyze plan names.
+ *
+ * @return the analyze plan names
+ */
+ public List<String> getAnalyzePlanNames() {
+ return analyzePlanNames;
+ }
+
+ /**
+ * Set analyze plan names.
+ *
+ * @param analyzePlanNames the analyze plan names to set
+ */
+ public void setAnalyzePlanNames(List<String> analyzePlanNames) {
+ this.analyzePlanNames = analyzePlanNames;
+
+ // default first selected
+ if (!analyzePlanNames.isEmpty()) {
+ setSelectedItem(analyzePlanNames.get(0));
+ }
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return analyzePlanNames.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (analyzePlanNames != null) {
+ size = analyzePlanNames.size();
+ }
+ return size;
+ }
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanComboRenderer.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -0,0 +1,87 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+
+import java.awt.Component;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+
+import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.simulator.AnalysePlan;
+
+/**
+ * Renderer pour la combo des plans d'analyse.
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class AnalyzePlanComboRenderer extends DefaultListCellRenderer implements ListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /** Analyse plan cache. */
+ protected Map<String, AnalysePlan> analysePlanCache;
+
+ /**
+ * Empty constructor.
+ */
+ public AnalyzePlanComboRenderer() {
+ analysePlanCache = new HashMap<String, AnalysePlan>();
+ }
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel)super.getListCellRendererComponent(list,value,index, isSelected, cellHasFocus);
+
+ String analysePlanName = (String)value;
+ c.setText(analysePlanName);
+
+ // c'est tres couteux d'avoir une instance
+ // on les met en cache
+ try {
+ AnalysePlan plan = analysePlanCache.get(analysePlanName);
+ if (plan == null) {
+ AnalysePlanStorage storage = AnalysePlanStorage.getAnalysePlan(analysePlanName);
+ plan = storage.getNewAnalysePlanInstance();
+ }
+
+ c.setToolTipText(plan.getDescription());
+ } catch (Exception e) {
+ // can't get exception
+ }
+
+ return c;
+ }
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListModel.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -0,0 +1,98 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+
+import java.util.List;
+
+import javax.swing.AbstractListModel;
+
+import fr.ifremer.isisfish.simulator.AnalysePlan;
+
+/**
+ * Model pour la liste des instances de plans d'analyse.
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class AnalyzePlanListModel extends AbstractListModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ protected List<AnalysePlan> plans;
+
+ /**
+ * Empty constructor.
+ */
+ public AnalyzePlanListModel() {
+ this(null);
+ }
+
+ /**
+ * Constructor with plan list.
+ *
+ * @param plans plans
+ */
+ public AnalyzePlanListModel(List<AnalysePlan> plans) {
+ super();
+ setAnalyzePlan(plans);
+ }
+
+ /**
+ * Get plans list.
+ *
+ * @return the plans
+ */
+ public List<AnalysePlan> getAnalyzePlans() {
+ return plans;
+ }
+
+ /**
+ * Set plans list.
+ *
+ * @param plans the plans to set
+ */
+ public void setAnalyzePlan(List<AnalysePlan> plans) {
+ this.plans = plans;
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return plans.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (plans != null) {
+ size = plans.size();
+ }
+ return size;
+ }
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanListRenderer.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -0,0 +1,67 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+
+import java.awt.Component;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+
+import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.simulator.AnalysePlan;
+
+/**
+ * Renderer pour la liste des plans d'analyse.
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class AnalyzePlanListRenderer extends DefaultListCellRenderer implements ListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel)super.getListCellRendererComponent(list,value,index, isSelected, cellHasFocus);
+
+ AnalysePlan plan = (AnalysePlan)value;
+ c.setText(AnalysePlanStorage.getName(plan));
+
+ try {
+ c.setToolTipText(plan.getDescription());
+ } catch (Exception e) {
+ // can't get exception
+ }
+
+ return this;
+ }
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellEditor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellEditor.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellEditor.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -0,0 +1,70 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.simulator.AnalysePlan;
+import fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor;
+
+/**
+ * Specific editor for rule parameters.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 9 juin 2009 $
+ * By : $Author: chatellier $
+ */
+public class AnalyzePlanParametersTableCellEditor extends ParameterTableCellEditor {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 8211639776194497615L;
+
+ protected AnalysePlan plan;
+
+ protected List<Class<?>> planParametersTypes;
+
+ /**
+ * Constructor with rule parameter.
+ *
+ * @param plan plan
+ */
+ public AnalyzePlanParametersTableCellEditor(AnalysePlan plan) {
+ super();
+
+ this.plan = plan;
+ planParametersTypes = new ArrayList<Class<?>>();
+ //TODO map may be sorted
+ Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage.getParameterNames(plan);
+ for (Class<?> type : planParametersNamesAndTypes.values()) {
+ planParametersTypes.add(type);
+ }
+ }
+ /*
+ * @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int)
+ */
+ @Override
+ protected Class<?> getType(Object value, int row, int column) {
+ return planParametersTypes.get(row);
+ }
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableCellRenderer.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -0,0 +1,75 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+
+import java.awt.Component;
+
+import javax.swing.JLabel;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableCellRenderer;
+
+import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.simulator.AnalysePlan;
+import fr.ifremer.isisfish.ui.util.TooltipHelper;
+import fr.ifremer.isisfish.util.Doc;
+
+/**
+ * Specific editor for rule parameters.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 9 juin 2009 $
+ * By : $Author: chatellier $
+ */
+public class AnalyzePlanParametersTableCellRenderer extends DefaultTableCellRenderer implements TableCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -1655744662816030649L;
+
+ protected AnalysePlan plan;
+
+ public AnalyzePlanParametersTableCellRenderer(AnalysePlan plan) {
+ this.plan = plan;
+ }
+
+ /*
+ * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
+ */
+ @Override
+ public Component getTableCellRendererComponent(JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
+
+ String parameterName = (String)value;
+ c.setText(parameterName);
+
+ Doc doc = AnalysePlanStorage.getParameterDoc(plan, parameterName);
+ String documentation = TooltipHelper.docToString(doc);
+ c.setToolTipText(documentation);
+
+ return c;
+ }
+
+
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/analyzeplan/AnalyzePlanParametersTableModel.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -0,0 +1,203 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.simulator.analyzeplan;
+
+import static org.codelutin.i18n.I18n._;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.swing.table.AbstractTableModel;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.simulator.AnalysePlan;
+import fr.ifremer.isisfish.ui.input.metier.MetierSeasonInfoTargetSpeciesModel;
+
+/**
+ * Model de la table de definition de parametre d'un plan d'analyse.
+ *
+ * Columns :
+ * <li>Parameter name</li>
+ * <li>Parameter value</li>
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class AnalyzePlanParametersTableModel extends AbstractTableModel {
+
+ /** Log. */
+ private static Log log = LogFactory.getLog(MetierSeasonInfoTargetSpeciesModel.class);
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 3169786638868209920L;
+
+ /** Columns names. */
+ public final static String[] COLUMN_NAMES = {
+ _("isisfish.common.name"),
+ _("isisfish.common.value") };
+
+ protected AnalysePlan plan;
+
+ protected List<String> planParametersNames;
+
+
+ /**
+ * Constructor with data.
+ *
+ * @param plan plan to edit parameters
+ */
+ public AnalyzePlanParametersTableModel(AnalysePlan plan) {
+ super();
+ this.plan = plan;
+
+ //TODO map may be sorted
+ planParametersNames = new ArrayList<String>();
+ Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage.getParameterNames(plan);
+ for (String names : planParametersNamesAndTypes.keySet()) {
+ planParametersNames.add(names);
+ }
+ }
+
+ /**
+ * Return analyse plan.
+ *
+ * @return plan
+ */
+ public AnalysePlan getAnalysePlan() {
+ return plan;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnCount()
+ */
+ @Override
+ public int getColumnCount() {
+ return COLUMN_NAMES.length;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getRowCount()
+ */
+ @Override
+ public int getRowCount() {
+ return planParametersNames.size();
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getValueAt(int, int)
+ */
+ @Override
+ public Object getValueAt(int rowIndex, int columnIndex) {
+
+ Object result = null;
+
+ String name = planParametersNames.get(rowIndex);
+ switch (columnIndex) {
+ case 0:
+ result = name;
+ break;
+ case 1:
+ try {
+ result = AnalysePlanStorage.getParameterValue(plan, name);
+ } catch (IsisFishException e) {
+ if (log.isErrorEnabled()) {
+ log.debug("Can't get parameters value", e);
+ }
+ }
+ break;
+ default:
+ throw new IndexOutOfBoundsException("No such column " + columnIndex);
+ }
+
+ return result;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnClass(int)
+ */
+ @Override
+ public Class<?> getColumnClass(int columnIndex) {
+
+ Class<?> result = null;
+
+ switch (columnIndex) {
+ case 0:
+ result = String.class;
+ break;
+ case 1:
+ result = Object.class;
+ break;
+ default:
+ throw new IndexOutOfBoundsException("No such column " + columnIndex);
+ }
+
+ return result;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnName(int)
+ */
+ @Override
+ public String getColumnName(int columnIndex) {
+ return COLUMN_NAMES[columnIndex];
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#isCellEditable(int, int)
+ */
+ @Override
+ public boolean isCellEditable(int rowIndex, int columnIndex) {
+ return columnIndex > 0;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int)
+ */
+ @Override
+ public void setValueAt(Object value, int rowIndex, int columnIndex) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Cell edition (column " + columnIndex + ") = " + value);
+ }
+
+ String name = planParametersNames.get(rowIndex);
+ switch (columnIndex) {
+ case 1:
+ try {
+ AnalysePlanStorage.setParameterValue(plan, name, value);
+ } catch (IsisFishException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't set parameter value");
+ }
+ }
+ break;
+ default:
+ throw new IndexOutOfBoundsException("Can't edit column " + columnIndex);
+ }
+
+ }
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleComboBoxModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleComboBoxModel.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleComboBoxModel.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -20,8 +20,7 @@
import java.util.List;
-import javax.swing.AbstractListModel;
-import javax.swing.ComboBoxModel;
+import javax.swing.DefaultComboBoxModel;
import fr.ifremer.isisfish.rule.Rule;
@@ -34,15 +33,13 @@
* Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
* By : $Author: chatellier $
*/
-public class RuleComboBoxModel extends AbstractListModel implements ComboBoxModel {
+public class RuleComboBoxModel extends DefaultComboBoxModel {
/** serialVersionUID. */
private static final long serialVersionUID = -4070846632975105788L;
protected List<Rule> rules;
- protected Object selectedItem;
-
/**
* Empty constructor.
*/
@@ -79,7 +76,7 @@
// default first selected
if (!rules.isEmpty()) {
- selectedItem = rules.get(0);
+ setSelectedItem(rules.get(0));
}
}
@@ -104,20 +101,4 @@
return size;
}
-
- /*
- * @see javax.swing.ComboBoxModel#getSelectedItem()
- */
- @Override
- public Object getSelectedItem() {
- return selectedItem;
- }
-
- /*
- * @see javax.swing.ComboBoxModel#setSelectedItem(java.lang.Object)
- */
- @Override
- public void setSelectedItem(Object anItem) {
- this.selectedItem = anItem;
- }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleListCellRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleListCellRenderer.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleListCellRenderer.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -20,6 +20,7 @@
import java.awt.Component;
+import javax.swing.DefaultListCellRenderer;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
@@ -36,7 +37,7 @@
* Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
* By : $Author: chatellier $
*/
-public class RuleListCellRenderer extends JLabel implements ListCellRenderer {
+public class RuleListCellRenderer extends DefaultListCellRenderer implements ListCellRenderer {
/** serialVersionUID. */
private static final long serialVersionUID = -948394724922547715L;
@@ -48,29 +49,22 @@
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel)super.getListCellRendererComponent(list,value,index, isSelected, cellHasFocus);
+
if (value != null) {
Rule rule = (Rule)value;
String ruleName = RuleStorage.getName(rule);
- setText(ruleName);
+ c.setText(ruleName);
try {
- setToolTipText(rule.getDescription());
+ c.setToolTipText(rule.getDescription());
} catch (Exception e) {
// can't get exception
}
-
- if(isSelected) {
- setBackground(list.getSelectionBackground());
- setForeground(list.getSelectionForeground());
- setOpaque(true); // background won't work
- }
- else {
- setBackground(list.getBackground());
- setForeground(list.getForeground());
- setOpaque(false); // background won't work
- }
}
- return this;
+ return c;
}
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellEditor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellEditor.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellEditor.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -55,7 +55,7 @@
this.rule = rule;
ruleParametersTypes = new ArrayList<Class<?>>();
//TODO map may be sorted
- Map<String, Class> ruleParametersNamesAndTypes = RuleStorage.getParameterNames(rule);
+ Map<String, Class<?>> ruleParametersNamesAndTypes = RuleStorage.getParameterNames(rule);
for (Class<?> type : ruleParametersNamesAndTypes.values()) {
ruleParametersTypes.add(type);
}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableCellRenderer.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -0,0 +1,76 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.simulator.rule;
+
+import java.awt.Component;
+
+import javax.swing.JLabel;
+import javax.swing.JTable;
+import javax.swing.UIManager;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableCellRenderer;
+import javax.swing.text.JTextComponent;
+
+import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.rule.Rule;
+import fr.ifremer.isisfish.ui.util.TooltipHelper;
+import fr.ifremer.isisfish.util.Doc;
+
+/**
+ * Specific editor for rule parameters.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 9 juin 2009 $
+ * By : $Author: chatellier $
+ */
+public class RuleParametersTableCellRenderer extends DefaultTableCellRenderer implements TableCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -1655744662816030649L;
+
+ protected Rule rule;
+
+ public RuleParametersTableCellRenderer(Rule rule) {
+ this.rule = rule;
+
+ }
+
+ /*
+ * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
+ */
+ @Override
+ public Component getTableCellRendererComponent(JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column) {
+
+ JLabel c = (JLabel)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
+
+ String parameterName = (String)value;
+ c.setText(parameterName);
+
+ Doc doc = RuleStorage.getParameterDoc(rule, parameterName);
+ String documentation = TooltipHelper.docToString(doc);
+ c.setToolTipText(documentation);
+
+ return c;
+ }
+
+
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableModel.java 2009-06-12 16:38:25 UTC (rev 2373)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleParametersTableModel.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -75,7 +75,7 @@
//TODO map may be sorted
ruleParametersNames = new ArrayList<String>();
- Map<String, Class> ruleParametersNamesAndTypes = RuleStorage.getParameterNames(rule);
+ Map<String, Class<?>> ruleParametersNamesAndTypes = RuleStorage.getParameterNames(rule);
for (String names : ruleParametersNamesAndTypes.keySet()) {
ruleParametersNames.add(names);
}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/TooltipHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/TooltipHelper.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/TooltipHelper.java 2009-06-12 16:39:20 UTC (rev 2374)
@@ -0,0 +1,77 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.util;
+
+import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.lang.StringUtils;
+
+import fr.ifremer.isisfish.util.Doc;
+
+/**
+ * Tooltip common utils methods.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 12 juin 2009 $
+ * By : $Author: chatellier $
+ */
+public class TooltipHelper {
+
+ /**
+ * Return HTML formatted tooltip.
+ *
+ * Use optional documentation (if any) or use @Doc's class doc.
+ *
+ * @param doc the doc to use
+ * @param optionalDocumentations optional documentation
+ * @return a string nicely print version
+ */
+ public static String docToString(Doc doc, String... optionalDocumentations) {
+
+ String tooltip = null;
+
+ if (doc != null) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("<html>");
+ if (!ArrayUtils.isEmpty(optionalDocumentations)) {
+ for (String optionalDocumentation : optionalDocumentations) {
+ sb.append("<p>" + optionalDocumentation + "</p>");
+ }
+ } else {
+ sb.append("<p>" + doc.value() + "</p>");
+ }
+ if (!StringUtils.isEmpty(doc.author())) {
+ sb.append("<p><b>author: </b>" + doc.author() + "</p>");
+ }
+ if (!StringUtils.isEmpty(doc.date())) {
+ sb.append("<p><b>date: </b>" + doc.date() + "</p>");
+ }
+ if (!StringUtils.isEmpty(doc.version())) {
+ sb.append("<p><b>version: </b>" + doc.version() + "</p>");
+ }
+ sb.append("</html>");
+ tooltip = sb.toString();
+
+ // replace all \n by <br/>
+ tooltip = tooltip.replace("\n", "<br/>");
+ }
+ return tooltip;
+ }
+}
1
0
r2373 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
12 Jun '09
Author: chatellier
Date: 2009-06-12 16:38:25 +0000 (Fri, 12 Jun 2009)
New Revision: 2373
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/ParameterTableCellEditor.java
Log:
Use inheritance of AbstractCellEditor code (simplier)
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/ParameterTableCellEditor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/ParameterTableCellEditor.java 2009-06-12 10:19:00 UTC (rev 2372)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/ParameterTableCellEditor.java 2009-06-12 16:38:25 UTC (rev 2373)
@@ -23,21 +23,18 @@
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.util.ArrayList;
import java.util.EventObject;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
+import javax.swing.AbstractCellEditor;
import javax.swing.JComboBox;
-import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;
-import javax.swing.event.CellEditorListener;
-import javax.swing.event.ChangeEvent;
import javax.swing.table.TableCellEditor;
import org.apache.commons.beanutils.ConvertUtilsBean;
@@ -56,7 +53,7 @@
/**
* ParameterTableCellEditor.
*
- * Un editeur generic de champs qui se base sur le le model de données
+ * Un editeur generic de champs qui se base sur le model de données
* a editer.
*
* Created: 25 sept. 06 12:35:21
@@ -68,11 +65,19 @@
* Last update: $Date: 2009-06-08 14:47:41 +0200 (lun. 08 juin 2009) $
* by : $Author: chatellier $
*/
-public class ParameterTableCellEditor extends JComponent implements TableCellEditor {
+public class ParameterTableCellEditor extends AbstractCellEditor implements TableCellEditor {
+ private static final long serialVersionUID = 6860330126841984303L;
+
/** Class logger. */
private static Log log = LogFactory.getLog(ParameterTableCellEditor.class);
+ protected RegionStorage region = null;
+
+ protected Component editor = null;
+
+ protected Class<?> type = null;
+
private static enum TypeClassMapping {
/** for simple int. */
Int(int.class),
@@ -109,16 +114,6 @@
}
}
- private static final long serialVersionUID = 6860330126841984303L;
-
- protected Set<CellEditorListener> listeners = new HashSet<CellEditorListener>();
-
- protected RegionStorage region = null;
-
- protected Component editor = null;
-
- protected Class<?> type = null;
-
/**
* @return Returns the topiaContext.
*/
@@ -200,15 +195,12 @@
if (JComboBox.class.isInstance(editor)) {
((JComboBox) editor).addActionListener(getComboListener());
} else if (JTextField.class.isInstance(editor)) {
- ((JTextField) editor).addFocusListener(new FocusListener() {
-
+ ((JTextField) editor).addFocusListener(new FocusAdapter() {
@Override
- public void focusGained(FocusEvent e) {
-
- }
-
- @Override
public void focusLost(FocusEvent e) {
+ if (log.isDebugEnabled()) {
+ log.debug("Stop cell editing");
+ }
stopCellEditing();
}
});
@@ -222,11 +214,11 @@
}
}
}
- if (log.isInfoEnabled()) {
- log.info("getCellEditorValue [" + type + "] [mapping:" + mapping + "="
+ if (log.isDebugEnabled()) {
+ log.debug("getCellEditorValue [" + type + "] [mapping:" + mapping + "="
+ editor);
}
- //+ editor==null?null:editor.getClass().getSimpleName());
+
return editor;
}
@@ -294,8 +286,8 @@
result = cub.convert((String) result, type);
}
- if (log.isInfoEnabled()) {
- log.info("getCellEditorValue [" + type + "] [mapping:" + mapping
+ if (log.isDebugEnabled()) {
+ log.debug("getCellEditorValue [" + type + "] [mapping:" + mapping
+ "]= " + result);
}
@@ -314,88 +306,6 @@
return (((JComboBox) editor)).getSelectedIndex();
}
- public Object getCellEditorValueOld() {
-
- Object result = null;
- if (editor instanceof JTextField) {
- result = ((JTextField) editor).getText();
- } else if (editor instanceof JComboBox) {
- result = ((JComboBox) editor).getSelectedItem();
- }
-
- if (result instanceof String && !String.class.equals(type)) {
- TopiaContext context = null;
- if (region != null) {
- context = region.getStorage();
- }
- ConvertUtilsBean cub = ConverterUtil.getConverter(context);
- result = cub.convert((String) result, type);
- }
-
- return result;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see javax.swing.CellEditor#addCellEditorListener(javax.swing.event.CellEditorListener)
- */
- public void addCellEditorListener(CellEditorListener l) {
- listeners.add(l);
- }
-
- /*
- * @see javax.swing.CellEditor#cancelCellEditing()
- */
- public void cancelCellEditing() {
- if (log.isDebugEnabled()) {
- log.debug("cancelCellEditing");
- }
- ChangeEvent e = new ChangeEvent(this);
- for (CellEditorListener listener : listeners) {
- listener.editingCanceled(e);
- }
- }
-
- /*
- * @see javax.swing.CellEditor#isCellEditable(java.util.EventObject)
- */
- public boolean isCellEditable(EventObject anEvent) {
- return true;
- }
-
- /*
- * @see javax.swing.CellEditor#removeCellEditorListener(javax.swing.event.CellEditorListener)
- */
- public void removeCellEditorListener(CellEditorListener l) {
- listeners.remove(l);
- }
-
- /*
- * @see javax.swing.CellEditor#shouldSelectCell(java.util.EventObject)
- */
- public boolean shouldSelectCell(EventObject anEvent) {
- return true;
- }
-
- /*
- * @see javax.swing.CellEditor#stopCellEditing()
- */
- public boolean stopCellEditing() {
- // to prevent concurent modification exception
- if (log.isDebugEnabled()) {
- log.debug("stopCellEditing");
- }
- CellEditorListener[] list = listeners
- .toArray(new CellEditorListener[listeners.size()]);
-
- ChangeEvent e = new ChangeEvent(this);
- for (CellEditorListener l : list) {
- l.editingStopped(e);
- }
- return true;
- }
-
public static class DateComponent extends JPanel {
private static final long serialVersionUID = -6694461572642939712L;
1
0
r2372 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
12 Jun '09
Author: chatellier
Date: 2009-06-12 10:19:00 +0000 (Fri, 12 Jun 2009)
New Revision: 2372
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/RegionMonitor.java
Log:
Make RegionMonitor deprecated
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/RegionMonitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/RegionMonitor.java 2009-06-12 08:55:21 UTC (rev 2371)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/RegionMonitor.java 2009-06-12 10:19:00 UTC (rev 2372)
@@ -31,6 +31,8 @@
*
* Last update: $Date$
* by : $Author$
+ *
+ * @deprecated don't work with rule, plans... use refresh on affected uis
*/
public class RegionMonitor {
1
0
r2371 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
12 Jun '09
Author: chatellier
Date: 2009-06-12 08:55:21 +0000 (Fri, 12 Jun 2009)
New Revision: 2371
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx
Log:
Lors d'un refresh, remet le popInfo bean a null aussi (sinon un boolean est ecras?\195?\169 par le bean precedant)
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx 2009-06-12 08:54:08 UTC (rev 2370)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx 2009-06-12 08:55:21 UTC (rev 2371)
@@ -15,8 +15,8 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *##%*/ -->
-
+ *##%*/
+-->
<fr.ifremer.isisfish.ui.input.InputContentUI>
<!-- bean property -->
@@ -54,10 +54,15 @@
// otherwize, setBean has no effect
setBean(null);
setBean((PopulationImpl) population);
-
+
if (getBean() != null) {
setFieldPopulationMigrationSeasonChooserModel();
}
+
+ // must reset popInfo here, on tree swap
+ // there is a popInfo here
+ // and useEquationChanged erase saved UseEquationMigration field
+ setPopInfo(null);
useEquationChanged();
getVerifier().addCurrentPanel(populationMigrationEquationUI, populationMigrationMigrationUI, populationMigrationImmigrationUI, populationMigrationEmigrationUI);
1
0
r2370 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: input sensitivity
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
12 Jun '09
Author: chatellier
Date: 2009-06-12 08:54:08 +0000 (Fri, 12 Jun 2009)
New Revision: 2370
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
Log:
Misc improvements.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx 2009-06-12 08:53:27 UTC (rev 2369)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx 2009-06-12 08:54:08 UTC (rev 2370)
@@ -20,8 +20,6 @@
<fr.ifremer.isisfish.ui.input.InputContentUI>
<!-- bean property -->
- <fr.ifremer.isisfish.entities.PopulationImpl id='bean' javaBean='null'/>
-
<fr.ifremer.isisfish.entities.PopulationSeasonInfoImpl id='popInfo' javaBean='null'/>
<script><![CDATA[
@@ -39,11 +37,6 @@
@Override
public void refresh() {
- Population population = getVerifier().getEntity(Population.class);
-
- // setBean(null); is useless here
- setBean((PopulationImpl) population);
-
getVerifier().addCurrentPanel(immigrationEquation, emigrationEquation, migrationEquation);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-06-12 08:53:27 UTC (rev 2369)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-06-12 08:54:08 UTC (rev 2370)
@@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-->
-<JPanel id="sensibilityTabUI" layout='{new BorderLayout()}'>
+<JPanel layout='{new BorderLayout()}'>
<javax.swing.tree.DefaultTreeSelectionModel id='navigationSelectionModel' selectionMode='{javax.swing.tree.TreeSelectionModel.SINGLE_TREE_SELECTION}'/>
1
0
r2369 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
by chatellier@users.labs.libre-entreprise.org 12 Jun '09
12 Jun '09
Author: chatellier
Date: 2009-06-12 08:53:27 +0000 (Fri, 12 Jun 2009)
New Revision: 2369
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx
Log:
Active les boutons Save/Cancel sur l'onglet courant (pas toujours le premier).
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx 2009-06-12 08:51:59 UTC (rev 2368)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx 2009-06-12 08:53:27 UTC (rev 2369)
@@ -36,8 +36,8 @@
@Override
public void setActionButtons() {
- // active les bouton sur le premier onglet
- gearTabUI.setActionButtons();
+ // active les bouton sur l'onglet courant
+ setCurrentTabActionButtons(gearTab);
}
]]></script>
<JPanel layout='{new BorderLayout()}'>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-06-12 08:51:59 UTC (rev 2368)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-06-12 08:53:27 UTC (rev 2369)
@@ -177,6 +177,14 @@
tabbedPane.addChangeListener(tabbedPaneChangeListener);
}
+/**
+ * Active les boutons sur l'onglet actuellement affiché.
+ */
+protected void setCurrentTabActionButtons(JTabbedPane tabbedPane) {
+ InputContentUI selectedUI = (InputContentUI) tabbedPane.getSelectedComponent();
+ selectedUI.setActionButtons();
+}
+
]]></script>
<JPanel id='body' constraints='BorderLayout.CENTER'/>
<JButton id='next' text='{getButtonTitle()}' constraints='BorderLayout.SOUTH' visible='{getNextPath() != null}' onActionPerformed='goTo()'/>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx 2009-06-12 08:51:59 UTC (rev 2368)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx 2009-06-12 08:53:27 UTC (rev 2369)
@@ -39,8 +39,8 @@
@Override
public void setActionButtons() {
- // active les bouton sur le premier onglet
- metierTabUI.setActionButtons();
+ // active les bouton sur l'onglet courant
+ setCurrentTabActionButtons(metierTab);
}
]]></script>
<JPanel layout='{new BorderLayout()}'>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx 2009-06-12 08:51:59 UTC (rev 2368)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx 2009-06-12 08:53:27 UTC (rev 2369)
@@ -43,8 +43,8 @@
@Override
public void setActionButtons() {
- // active les bouton sur le premier onglet
- populationBasicsUI.setActionButtons();
+ // active les bouton sur l'onglet courant
+ setCurrentTabActionButtons(populationTab);
}
]]>
</script>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx 2009-06-12 08:51:59 UTC (rev 2368)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx 2009-06-12 08:53:27 UTC (rev 2369)
@@ -36,8 +36,8 @@
@Override
public void setActionButtons() {
- // active les bouton sur le premier onglet
- setOfVesselsTabsUI.setActionButtons();
+ // active les bouton sur l'onglet courant
+ setCurrentTabActionButtons(setOfVesselsTab);
}
]]></script>
<JPanel layout='{new BorderLayout()}'>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx 2009-06-12 08:51:59 UTC (rev 2368)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx 2009-06-12 08:53:27 UTC (rev 2369)
@@ -32,11 +32,11 @@
@Override
public void setActionButtons() {
- // active les bouton sur le premier onglet
- strategyTabUI.setActionButtons();
+ // active les bouton sur l'onglet courant
+ setCurrentTabActionButtons(strategyTab);
}
]]></script>
- <JPanel id='body' layout='{new BorderLayout()}'>
+ <JPanel layout='{new BorderLayout()}'>
<JTabbedPane id="strategyTab" constraints='BorderLayout.CENTER'>
<tab title='isisfish.strategy.title'>
<StrategyTabUI id='strategyTabUI' constructorParams='this'/>
1
0