Author: sletellier
Date: 2009-03-11 10:27:27 +0000 (Wed, 11 Mar 2009)
New Revision: 1933
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.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/InputSaveVerifier.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties
isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
Log:
Factor editing is working
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -53,7 +53,7 @@
<fr.ifremer.isisfish.ui.simulator.SimulUI id='simulUI' constructorParams='new SimulAction()'/>
</tab>
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/sensitivities.gif"))}'>
- <fr.ifremer.isisfish.ui.sensitivity.SensitivityUI id="sensitivityUI" constructorParams='new JAXXInitialContext().add(new InputAction()).add(new InputSaveVerifier()).add(this)'/>
+ <fr.ifremer.isisfish.ui.sensitivity.SensitivityUI id="sensitivityUI" constructorParams='new JAXXInitialContext().add(new InputAction()).add(new InputSaveVerifier()).add(new SimulAction()).add(this)'/>
</tab>
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/calc.gif"))}'>
<fr.ifremer.isisfish.ui.result.ResultView/>
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-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -32,6 +32,8 @@
import fr.ifremer.isisfish.ui.util.UtilsUI;
import fr.ifremer.isisfish.ui.sensitivity.FactorWizard;
import fr.ifremer.isisfish.ui.sensitivity.EditorHelper;
+import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabUI;
+import jaxx.runtime.JAXXInitialContext;
public void refresh(){}
public InputAction getAction() {
@@ -46,7 +48,7 @@
public void setInfoText(String msg){
WelcomePanelUI root = getParentContainer(WelcomePanelUI.class);
if (root != null){
- getParentContainer(WelcomePanelUI.class).setInfoText(msg);
+ root.setInfoText(msg);
}
}
protected void goTo(){
@@ -76,7 +78,7 @@
Class classBean = (Class)source.getClientProperty("bean");
TopiaEntity bean = getVerifier().getEntity(classBean);
- wizard.init(source, bean, EditorHelper.canBeContinue(source, bean));
+ wizard.initNew(source, bean, EditorHelper.canBeContinue(source, bean));
wizard.pack();
wizard.setVisible(true);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2009-03-11 10:27:27 UTC (rev 1933)
@@ -85,6 +85,7 @@
/** to use log facility, just put in your code: log.info(\"...\"); */
static private Log log = LogFactory.getLog(InputAction.class);
protected InputUI rootUI;
+ protected SensitivityTabUI sensUI;
public InputSaveVerifier(){
}
@@ -424,5 +425,12 @@
void setRootPanel(InputUI inputUI) {
this.rootUI = inputUI;
}
-
+
+ public SensitivityTabUI getSensPanel() {
+ return sensUI;
+ }
+
+ public void setSensPanel(SensitivityTabUI sensUI) {
+ this.sensUI = sensUI;
+ }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -94,30 +94,6 @@
public void mouseExited(MouseEvent e) {
}
});
-
-populationMigrationEmigrationTable.getTable().addMouseListener(new MouseListener() {
-
- @Override
- public void mouseClicked(MouseEvent e) {
- }
-
- @Override
- public void mousePressed(MouseEvent e) {
- }
-
- @Override
- public void mouseReleased(MouseEvent e) {
- remove.setEnabled(populationMigrationEmigrationTable.getTable().getSelectedRow() != -1);
- }
-
- @Override
- public void mouseEntered(MouseEvent e) {
- }
-
- @Override
- public void mouseExited(MouseEvent e) {
- }
-});
public void init(PopulationSeasonInfo pi){
setPopInfo((PopulationSeasonInfoImpl)pi);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-11 10:27:27 UTC (rev 1933)
@@ -18,6 +18,7 @@
package fr.ifremer.isisfish.ui.sensitivity;
+import fr.ifremer.isisfish.entities.Formule;
import fr.ifremer.isisfish.types.Month;
import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputOneEquationUI;
@@ -34,6 +35,7 @@
import javax.swing.JTextField;
import javax.swing.text.JTextComponent;
import jaxx.runtime.JAXXInitialContext;
+import jaxx.runtime.swing.JAXXList;
import org.codelutin.math.matrix.MatrixND;
import org.codelutin.math.matrix.gui.MatrixPanelEditor;
import org.codelutin.topia.persistence.TopiaEntity;
@@ -44,10 +46,13 @@
*/
public class EditorHelper {
+ public static String getMethod(JComponent c){
+ return (String) c.getClientProperty("method");
+ }
public static JComponent getEditor(JComponent c, TopiaEntity e) {
JComponent result = null;
try {
- String fieldName = (String) c.getClientProperty("method");
+ String fieldName = getMethod(c);
result = c.getClass().newInstance();
if (result instanceof JTextField) {
@@ -102,52 +107,119 @@
}
return result;
}
+
+ public static JComponent getEditorWithValue(JComponent c, Object value) {
+ JComponent result = null;
+ try {
+ result = c.getClass().newInstance();
+ if (result instanceof JTextField) {
+ ((JTextComponent) result).setText(String.valueOf(value));
+
+ } else if (result instanceof JTable){
+// ((JTable) result).setModel(((JTable)c).getModel());
+
+ } else if (result instanceof MatrixPanelEditor){
+ ((MatrixPanelEditor) result).setMatrix((MatrixND)value);
+
+ } else if (result instanceof JComboBox){
+ JComboBox combo = (JComboBox)c;
+ JComboBox comboResult = new JComboBox();
+ comboResult.setModel(combo.getModel());
+ comboResult.setSelectedItem(value);
+ result = comboResult;
+ } else if (result instanceof JAXXList){
+ JAXXList list = (JAXXList)c;
+ JAXXList listResult = new JAXXList();
+ listResult.setModel(list.getModel());
+ listResult.setSelectedValues((Object[]) value);
+ listResult.setSelectedIndices(list.getSelectedIndices());
+ result = listResult;
+ } else if (result instanceof JCheckBox){
+ ((JCheckBox) result).setSelected((Boolean)value);
+
+ } else if (result instanceof JRadioButton){
+ ((JRadioButton) result).setSelected((Boolean)value);
+
+ } else if (result instanceof InputOneEquationUI){
+ InputOneEquationUI origine = (InputOneEquationUI) c;
+ InputOneEquationUI ui = new InputOneEquationUI(new JAXXInitialContext().add(new InputAction()));
+ ui.setLblText(origine.getLblText());
+ ui.setNameEquation(origine.getNameEquation());
+ ui.setClazz(origine.getClazz());
+ ui.setFormule((Formule)value);
+ ui.setActif(true);
+ ui.refresh();
+ result = ui;
+ } else if (result instanceof IntervalPanel){
+ IntervalPanel ipResult = new IntervalPanel();
+ IntervalPanel ip = (IntervalPanel)c;
+ ipResult.setLabelRenderer(Month.MONTH);
+ ipResult.setModel(ip.getModel().clone());
+ result = ipResult;
+ }
+ } catch (Exception ex) {
+ Logger.getLogger(EditorHelper.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ return result;
+ }
public static Object getValue(JComponent c) {
Object result = null;
- if (result instanceof JTextComponent) {
- result = ((JTextComponent)result).getText();
- } else if (result instanceof JTable){
+ if (c instanceof JTextComponent) {
+ result = ((JTextComponent)c).getText();
+ } else if (c instanceof JTable){
// ((JTable) result).setText(BeanUtils.getProperty(e, fieldName));
- } else if (result instanceof MatrixPanelEditor){
- result = ((MatrixPanelEditor)result).getMatrix();
+ } else if (c instanceof MatrixPanelEditor){
+ result = ((MatrixPanelEditor)c).getMatrix();
- } else if (result instanceof JComboBox){
+ } else if (c instanceof JComboBox){
// ((JComboBox) result).setModel(BeanUtils.getProperty(e, fieldName));
- } else if (result instanceof JList){
+ } else if (c instanceof JList){
// ((JComboBox) result).setModel(BeanUtils.getProperty(e, fieldName));
- } else if (result instanceof JCheckBox){
- result = ((JCheckBox)result).isSelected();
+ } else if (c instanceof JCheckBox){
+ result = ((JCheckBox)c).isSelected();
- } else if (result instanceof JRadioButton){
- result = ((JRadioButton)result).isSelected();
+ } else if (c instanceof JRadioButton){
+ result = ((JRadioButton)c).isSelected();
- } else if (result instanceof InputOneEquationUI){
+ } else if (c instanceof InputOneEquationUI){
// ((InputOneEquationUI) result).init(setText(BeanUtils.getProperty(e, fieldName)));
- } else if (result instanceof IntervalPanel){
+ } else if (c instanceof IntervalPanel){
// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
}
-
return result;
}
public static boolean canBeContinue(JComponent c, TopiaEntity e){
String fieldName = (String) c.getClientProperty("method");
if (c instanceof JTextComponent) {
Object o = callMethod(e, fieldName);
- System.out.println(o + " " + o.getClass());
if (Integer.class.isInstance(o)){
return true;
} else if (Double.class.isInstance(o)){
return true;
+ } else if (Long.class.isInstance(o)){
+ return true;
}
}
return false;
}
+ public static boolean canBeContinue(JComponent c, Object o){
+ if (c instanceof JTextComponent) {
+ if (Integer.class.isInstance(o)){
+ return true;
+ } else if (Double.class.isInstance(o)){
+ return true;
+ } else if (Long.class.isInstance(o)){
+ return true;
+ }
+ }
+ return false;
+ }
protected static Object callMethod(TopiaEntity e, String fieldName){
Object result = null;
try {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-11 10:27:27 UTC (rev 1933)
@@ -18,12 +18,27 @@
package fr.ifremer.isisfish.ui.sensitivity;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.JComponent;
+
/**
*
* @author letellier
*/
public class FactorAction {
- public void save(){
-
+ public static void saveContinue(JComponent cOrigine, String name, String path, JComponent min, JComponent max, String increment, SimulAction action){
+ Serializable oMin = (Serializable)EditorHelper.getValue(min);
+ Serializable oMax = (Serializable)EditorHelper.getValue(max);
+ action.addContinueFactors(name, path, oMin, oMax, Integer.parseInt(increment), cOrigine);
}
+ public static void saveDiscret(JComponent cOrigine, String name, String path, List<JComponent> components, SimulAction action){
+ List<Serializable> values = new ArrayList<Serializable>();
+ for(JComponent c: components){
+ values.add((Serializable)EditorHelper.getValue(c));
+ }
+ action.addDiscreteFactors(name, path, values, cOrigine);
+ }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -30,7 +30,7 @@
* by : $Author: sletellier $
*/
-->
-<JDialog id="FactorTypeChooser" title='isisfish.factor.title' resizable='false' layout='{new BorderLayout()}'>
+<JDialog id="FactorTypeChooser" title='isisfish.factor.title' layout='{new BorderLayout()}'>
<Boolean id='continuePossible' javaBean='true'/>
@@ -40,41 +40,154 @@
<Boolean id='saveEnabled' javaBean='false'/>
+ <Boolean id='existingValue' javaBean='false'/>
+
<script><![CDATA[
import org.codelutin.topia.persistence.TopiaEntity;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
+import fr.ifremer.isisfish.ui.input.InputSaveVerifier;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
protected JComponent cOrigine = null;
+protected JComponent continueMax = null;
+protected JComponent continueMin = null;
protected TopiaEntity bean = null;
-protected java.util.List<JComponent> discretComponent = new ArrayList<JComponent>();
+protected java.util.List<JComponent> discretComponents = new ArrayList<JComponent>();
+protected String path = null;
-public void init(JComponent c, TopiaEntity bean, Boolean b){
+addPropertyChangeListener("continuePossible", new PropertyChangeListener(){
+
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ continueMax.setVisible((Boolean)evt.getNewValue());
+ continueMin.setVisible((Boolean)evt.getNewValue());
+ }
+
+});
+
+addPropertyChangeListener("continueSelected", new PropertyChangeListener(){
+
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ continueMax.setEnabled((Boolean)evt.getNewValue());
+ continueMin.setEnabled((Boolean)evt.getNewValue());
+ }
+
+});
+
+public void initNew(JComponent c, TopiaEntity bean, Boolean b){
this.bean = bean;
this.cOrigine = c;
+
+ continueMax = getNewComponent();
+ continueMin = getNewComponent();
+
+ this.path = bean.toString() + "." + EditorHelper.getMethod(cOrigine);
+
+ factorName.setText(path);
setContinuePossible(b);
+ init();
}
+
+public void initExisting(JComponent cOrigine, Factor f){
+ setExistingValue(true);
+ this.cOrigine = cOrigine;
+ this.path = f.getPath();
+ factorName.setText(f.getName());
+ Domain domain = f.getDomain();
+
+ if (ContinuousDomain.class.isInstance(domain)){
+ ContinuousDomain cDomain = (ContinuousDomain) domain;
+ continueMax = EditorHelper.getEditorWithValue(cOrigine, cDomain.getMaxBound());
+ continueMin = EditorHelper.getEditorWithValue(cOrigine, cDomain.getMinBound());
+ increment.setText(String.valueOf(cDomain.getCardinality()));
+ continueRadion.setSelected(true);
+ setContinueSelected(true);
+ setContinuePossible(true);
+ }else{
+ DiscreteDomain dDomain = (DiscreteDomain)domain;
+ continueMax = EditorHelper.getEditorWithValue(cOrigine, null);
+ continueMin = EditorHelper.getEditorWithValue(cOrigine, null);
+
+ int nb = dDomain.getValues().size();
+ discretNumber.setText(nb + "");
+
+ discretComponents.clear();
+ tabPane.removeAll();
+
+ SortedMap values = dDomain.getValues();
+ int i = 0;
+ Object cache = null;
+ for (Object o : values.values()) {
+ i++;
+ cache = o;
+ JComponent c = EditorHelper.getEditorWithValue(cOrigine, o);
+ discretComponents.add(c);
+ tabPane.add(c, "Factor " + (i+1));
+ }
+ setContinuePossible(EditorHelper.canBeContinue(cOrigine, cache));
+ setTabVisible(true);
+ this.pack();
+ }
+ init();
+}
+protected void init(){
+ continueMax.setEnabled(isContinueSelected());
+ continueMin.setEnabled(isContinueSelected());
+ continueMax.setVisible(isContinuePossible());
+ continueMin.setVisible(isContinuePossible());
+
+ continueMaxPanel.add(continueMax, BorderLayout.CENTER);
+ continueMinPanel.add(continueMin, BorderLayout.CENTER);
+
+ setSaveEnabled(!factorName.getText().equals(""));
+}
protected JComponent getNewComponent(){
return EditorHelper.getEditor(cOrigine, bean);
}
protected void addTabs(String sNbTab){
int nbTab = Integer.parseInt(sNbTab);
- discretComponent.clear();
+ discretComponents.clear();
tabPane.removeAll();
for (int i=0;i<nbTab;i++){
JComponent c = getNewComponent();
- discretComponent.add(c);
+ discretComponents.add(c);
tabPane.add(c, "Factor " + (i+1));
}
setTabVisible(true);
this.pack();
}
+protected FactorAction getFactorAction(){
+ return getContextValue(FactorAction.class);
+}
+protected SimulAction getSimulAction(){
+ return getContextValue(SimulAction.class);
+}
+protected void save(){
+ if (continueRadion.isSelected()){
+ getFactorAction().saveContinue(cOrigine, factorName.getText(), path, continueMin, continueMax, increment.getText(), getSimulAction());
+ } else {
+ getFactorAction().saveDiscret(cOrigine, factorName.getText(), path, discretComponents, getSimulAction());
+ }
+ getContextValue(InputSaveVerifier.class).getSensPanel().setFactorModel();
+ this.dispose();
+}
+protected void remove(){
+ getSimulAction().removeFactor(path);
+ getContextValue(InputSaveVerifier.class).getSensPanel().setFactorModel();
+ this.dispose();
+}
]]>
</script>
<Table constraints='BorderLayout.CENTER'>
<row>
- <cell columns='1' fill='horizontal' weightx='0.5'>
+ <cell columns='1' fill='horizontal'>
<JLabel text='isisfish.factor.name'/>
</cell>
- <cell columns='3' fill='horizontal' weightx='0.5'>
+ <cell columns='3' fill='horizontal' weightx='1'>
<JTextField id='factorName' onKeyReleased='setSaveEnabled(!factorName.getText().equals(""))'/>
</cell>
</row>
@@ -84,29 +197,37 @@
</cell>
</row>
<row>
- <cell fill='horizontal' weightx='0.25'>
+ <cell fill='horizontal'>
<JLabel text='isisfish.factor.firstValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
- <cell fill='horizontal' weightx='0.25'>
- <JTextField id='continueMin' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ <cell fill='horizontal' weightx='0.5'>
+ <JPanel id='continueMinPanel' layout='{new BorderLayout()}'/>
</cell>
- <cell fill='horizontal' weightx='0.25'>
+ <cell fill='horizontal'>
<JLabel text='isisfish.factor.lastValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
- <cell fill='horizontal' weightx='0.25'>
- <JTextField id='continueMax' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ <cell fill='horizontal' weightx='0.5'>
+ <JPanel id='continueMaxPanel' layout='{new BorderLayout()}'/>
</cell>
</row>
<row>
+ <cell fill='horizontal'>
+ <JLabel text='isisfish.factor.increment' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='1' columns='3'>
+ <JTextField id='increment' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ </row>
+ <row>
<cell columns='4' fill='horizontal' weightx='1'>
<JRadioButton id='discret' text='isisfish.factor.discret' selected='true' buttonGroup='factorType' onActionPerformed='setContinueSelected(continueRadion.isSelected())'/>
</cell>
</row>
<row>
- <cell fill='horizontal' weightx='0.25'>
+ <cell fill='horizontal'>
<JLabel text='isisfish.factor.selectDiscretNumber' enabled='{!isContinueSelected()}'/>
</cell>
- <cell fill='horizontal' weightx='0.25'>
+ <cell fill='horizontal' weightx='0.5'>
<JTextField id='discretNumber' enabled='{!isContinueSelected()}'/>
</cell>
<cell columns='2' fill='horizontal' weightx='0.5'>
@@ -119,11 +240,14 @@
</cell>
</row>
<row>
- <cell columns='2' fill='horizontal' weightx='0.5'>
+ <cell fill='horizontal' weightx='0.25'>
<JButton id='cancel' text='isisfish.common.cancel' onActionPerformed='this.dispose()'/>
</cell>
+ <cell fill='horizontal' weightx='0.25'>
+ <JButton id='remove' text='isisfish.common.remove' visible='{isExistingValue()}' onActionPerformed='remove()'/>
+ </cell>
<cell columns='2' fill='horizontal' weightx='0.5'>
- <JButton id='save' text='isisfish.common.save' enabled='{isSaveEnabled()}'/>
+ <JButton id='save' text='isisfish.common.save' enabled='{isSaveEnabled()}' onActionPerformed='save()'/>
</cell>
</row>
</Table>
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-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -56,16 +56,59 @@
import org.codelutin.topia.TopiaContext;
import jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode;
import jaxx.runtime.swing.navigation.NavigationUtil;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.TreeNode;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+getVerifier().setSensPanel(this);
+factors.addMouseListener(new MouseListener(){
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ factorSelected();
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+ }
+
+});
protected InputAction getInputAction(){
return getContextValue(InputAction.class);
}
+protected SimulAction getSimulAction(){
+ return getContextValue(SimulAction.class);
+}
protected InputSaveVerifier getVerifier(){
return getContextValue(InputSaveVerifier.class);
}
protected RegionStorage getRegionStorage(){
return getContextValue(RegionStorage.class);
}
+protected void factorSelected(){
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode)factors.getSelectionValue();
+ Object o = node.getUserObject();
+ if (Factor.class.isInstance(o)){
+ Factor f = (Factor)o;
+ FactorWizard wizard = new FactorWizard(this);
+ wizard.initExisting(getSimulAction().getFactorComponant(f.getPath()), f);
+ wizard.pack();
+ wizard.setVisible(true);
+ }
+}
public void setTreeModel(){
if (getRegion() != null){
getCardlayoutPrincipal().show(inputPanePrincipal,"normale");
@@ -101,6 +144,13 @@
DefaultTreeModel model = new DefaultTreeModel(null);
navigation.setModel(model);
}
+protected void setFactorModel(){
+ TreeNode root = new DefaultMutableTreeNode(getSimulAction().getFactors());
+ factors.setRootVisible(true);
+ FactorTreeModel model = new FactorTreeModel(root);
+ factors.setModel(model);
+ factors.setCellRenderer(new FactorTreeCellRenderer());
+}
]]>
</script>
<JSplitPane oneTouchExpandable="true" dividerLocation="200" orientation="HORIZONTAL" constraints='BorderLayout.CENTER'>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -38,6 +38,9 @@
import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputSaveVerifier;
import fr.ifremer.isisfish.ui.simulator.ParamsUI;
+ import fr.ifremer.isisfish.ui.simulator.ResultChoiceUI;
+ import fr.ifremer.isisfish.ui.simulator.AdvancedParamsUI;
+ import fr.ifremer.isisfish.ui.simulator.ExportUI;
import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabUI;
public void selTab(int i){
@@ -47,10 +50,19 @@
</script>
<JTabbedPane id="sensitivityTabs" constraints="BorderLayout.CENTER">
<tab title='isisfish.params.title'>
- <ParamsUI id='paramsUI' constructorParams='new SimulAction()'/>
+ <ParamsUI id='paramsUI' constructorParams='getContextValue(SimulAction.class)'/>
</tab>
<tab title='isisfish.sensitivity.title'>
<SensitivityTabUI id="sensitivityTabUI" constructorParams='new JAXXInitialContext().add(new InputAction()).add(new InputSaveVerifier()).add(this)'/>
</tab>
+ <tab id="exportUITab" title='isisfish.export.title'>
+ <ExportUI id="exportUI" constructorParams='getContextValue(SimulAction.class)'/>
+ </tab>
+ <tab id="resultChoiceUITab" title='isisfish.resultChoice.title'>
+ <ResultChoiceUI id="resultChoiceUI" constructorParams='getContextValue(SimulAction.class)'/>
+ </tab>
+ <tab id="advancedParamsUITab" title='isisfish.advancedParameters.title'>
+ <AdvancedParamsUI id="advencedParamsUI" constructorParams='getContextValue(SimulAction.class)'/>
+ </tab>
</JTabbedPane>
</JPanel>
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-11 10:27:27 UTC (rev 1933)
@@ -354,6 +354,7 @@
isisfish.factor.continue=Continue factor
isisfish.factor.discret=Discret factor
isisfish.factor.firstValue=First value
+isisfish.factor.increment=Cardinality
isisfish.factor.lastValue=Last value
isisfish.factor.name=Factor name
isisfish.factor.selectDiscretNumber=Number of factors
@@ -888,6 +889,7 @@
isisfish.species.scientificName=Scientific name
isisfish.species.structured=Structured
isisfish.strategy.comments=Comments
+isisfish.strategy.inactivity=
isisfish.strategy.inactivityEquationUsed=Use inactivity equation
isisfish.strategy.name=Name
isisfish.strategy.proportionSetOfVessels=Set of vessels proportion
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-11 10:27:27 UTC (rev 1933)
@@ -354,6 +354,7 @@
isisfish.factor.continue=Facteur continue
isisfish.factor.discret=Facteur discret
isisfish.factor.firstValue=Premi\u00E8re valeur
+isisfish.factor.increment=Cardinalit\u00E9e
isisfish.factor.lastValue=Derin\u00E8re valeur
isisfish.factor.name=Nom du facteur
isisfish.factor.selectDiscretNumber=Nombre de facteurs
@@ -833,7 +834,7 @@
isisfish.selectivity.selectPopulation=S\u00E9lectionnez une population
isisfish.selectivity.title=S\u00E9lectivit\u00E9
isisfish.sens.backParameter=Retour aux param\u00E8tres
-isisfish.sens.title=Analyse de sensibilit\u00E9
+isisfish.sens.title=Plan de simulation
isisfish.sensWizardPanels.add=Ajouter
isisfish.sensWizardPanels.clear=Effacer
isisfish.sensWizardPanels.down=Bas
@@ -849,7 +850,7 @@
isisfish.sensWizardPanels.validate=Valider
isisfish.sensWizardPanels.values=Valeurs
isisfish.sensibilityWizard.title=Sensibility Wizard
-isisfish.sensitivity.title=Saisie des sensibilit\u00E9s
+isisfish.sensitivity.title=S\u00E9lection des facteurs
isisfish.server.ssh.generateKey.title=G\u00E9n\u00E9rer une cl\u00E9 SSH
isisfish.setOfVessels.comments=Commentaires
isisfish.setOfVessels.fixedCosts=Co\u00FBts fixes
@@ -888,6 +889,7 @@
isisfish.species.scientificName=Scientific name
isisfish.species.structured=Structur\u00E9
isisfish.strategy.comments=Commentaires
+isisfish.strategy.inactivity=
isisfish.strategy.inactivityEquationUsed=Utiliser une \u00E9quation d'inactivit\u00E9
isisfish.strategy.name=Nom
isisfish.strategy.proportionSetOfVessels=Proportion des ensembles de navires