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
March 2009
- 5 participants
- 159 discussions
r1984 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: input sensitivity
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: sletellier
Date: 2009-03-17 15:11:59 +0000 (Tue, 17 Mar 2009)
New Revision: 1984
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesEditorUI.jaxx
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
Log:
Factor of MetierSeasonInfoSpecies is done
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesEditorUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesEditorUI.jaxx (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesEditorUI.jaxx 2009-03-17 15:11:59 UTC (rev 1984)
@@ -0,0 +1,248 @@
+<!--
+/* *##%
+ * Copyright (C) 2005
+ * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin
+ *
+ * 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.
+ *##%*/
+
+/* *
+ * IsisFish.java
+ *
+ * Created: 1 aout 2005 18:37:25 CEST
+ *
+ * @author Benjamin POUSSIN <poussin at codelutin.com>
+ * @version $Revision: 1312 $
+ *
+ * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $
+ * by : $Author: sletellier $
+ */
+ -->
+
+<fr.ifremer.isisfish.ui.input.InputContentUI>
+
+ <!-- bean property -->
+ <fr.ifremer.isisfish.entities.MetierImpl id='bean' javaBean='null'/>
+
+ <fr.ifremer.isisfish.entities.MetierSeasonInfoImpl id='metierInfo' javaBean='null'/>
+
+ <Boolean id='metierSeasonSelected' javaBean='false'/>
+
+ <Boolean id='targetSpeciesSelected' javaBean='false'/>
+
+ <script><![CDATA[
+import com.l2fprod.common.swing.renderer.BooleanCellRenderer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import fr.ifremer.isisfish.entities.Equation;
+import fr.ifremer.isisfish.entities.Formule;
+import fr.ifremer.isisfish.entities.Metier;
+import fr.ifremer.isisfish.entities.MetierImpl;
+import fr.ifremer.isisfish.entities.MetierSeasonInfo;
+import fr.ifremer.isisfish.entities.MetierSeasonInfoImpl;
+import fr.ifremer.isisfish.entities.TargetSpecies;
+import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
+import fr.ifremer.isisfish.ui.widget.editor.EquationTableEditor;
+import fr.ifremer.isisfish.ui.WelcomePanelUI;
+import org.codelutin.topia.persistence.TopiaEntity;
+import javax.swing.table.DefaultTableModel;
+import fr.ifremer.isisfish.entities.Species;
+import org.codelutin.topia.TopiaContext;
+import javax.swing.table.TableCellEditor;
+
+addPropertyChangeListener("bean", new PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (evt.getOldValue() != null || evt.getNewValue() == null) {
+ // remove previous binding on getBean()
+ //jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");fieldPopulationBasicsName.setText("");
+ }
+ if (evt.getNewValue() != null) {
+ // add binding on getBean()
+ //jaxx.runtime.SwingUtil.applyDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text")
+ }
+ }
+});
+
+tableTargetSpecies.addMouseListener(new MouseListener() {
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ remove.setEnabled(tableTargetSpecies.getSelectedRow() != -1);
+ }
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+ }
+});
+ public void refresh() {
+ getVerifier().addCurrentPanel(targetFactor);
+ if (getBean() != null){
+ setTableTargetSpeciesModel();
+ }
+ else{
+ setTargetSpeciesModel();
+ }
+ setTargetSpeciesModel();
+ remove.setEnabled(false);
+ setAddButton();
+}
+protected void setTargetSpeciesModel(){
+ DefaultComboBoxModel fieldTargetSpeciesModel = new DefaultComboBoxModel();
+ java.util.List<Species> species = getRegion().getSpecies();
+ if (species != null){
+ fieldTargetSpeciesModel.addElement(new GenericCell(" ", null, null));
+ for (Species s : species){
+ fieldTargetSpeciesModel.addElement(new GenericCell(s.getName(), s, Species.class));
+ }
+ }
+ fieldTargetSpecies.setModel(fieldTargetSpeciesModel);
+}
+protected void setTableTargetSpeciesModel(){
+ DefaultTableModel model = new DefaultTableModel(){
+ @Override
+ public boolean isCellEditable(int row, int column) {
+ boolean result = false;
+ if (column > 0){
+ result =true;
+ }
+ return result;
+ }
+ };
+ if (getMetierInfo() != null){
+ Collection<TargetSpecies> targetSpecies = ((MetierSeasonInfo)getMetierInfo()).getSpeciesTargetSpecies();
+ if (targetSpecies != null){
+ ArrayList <GenericCell> species = new ArrayList <GenericCell>();
+ ArrayList <Equation> equations = new ArrayList <Equation>();
+ ArrayList <Boolean> primaryCatch = new ArrayList <Boolean>();
+ for (TargetSpecies t : targetSpecies){
+ Species s = t.getSpecies();
+ Equation e = t.getTargetFactorEquation();
+ Boolean b = t.getPrimaryCatch();
+ species.add(new GenericCell(s.getName(),s,Species.class));
+ equations.add(e);
+ primaryCatch.add(b);
+ }
+ model.addColumn("Species", species.toArray());
+ model.addColumn("Target factor", equations.toArray());
+ model.addColumn("Main species for the metier", primaryCatch.toArray());
+ }
+ tableTargetSpecies.setModel(model);
+ EquationTableEditor cellEditor = new EquationTableEditor();
+ tableTargetSpecies.getColumnModel().getColumn(1).setCellEditor(cellEditor);
+ }
+}
+protected void add(){
+ Object species = ((GenericCell)fieldTargetSpecies.getSelectedItem()).getValue();
+ if (getMetierInfo() != null && species != null){
+ getContextValue(InputAction.class).addTargetSpecies(
+ getBean(),
+ (MetierSeasonInfo)getMetierInfo(),
+ (Species)species,
+ targetFactor.getEditor().getText(),
+ fieldPrimaryCatch.isSelected());
+ setTableTargetSpeciesModel();
+ }
+}
+protected void remove(){
+ if (isMetierSeasonSelected()){
+ Object[] targetSpecies = getMetierInfo().getSpeciesTargetSpecies().toArray();
+
+ Object o = targetSpecies[tableTargetSpecies.getSelectedRow()];
+ if (o != null){
+ TargetSpecies ts = (TargetSpecies)o;
+ getAction().removeTargetSpecies(getMetierInfo(), ts);
+ setTableTargetSpeciesModel();
+ }
+ }
+}
+protected void targetSpeciesChanged(){
+ setTargetSpeciesSelected(fieldTargetSpecies.getSelectedItem() != null);
+ setTableTargetSpeciesModel();
+ setAddButton();
+}
+protected void setAddButton(){
+ add.setEnabled(getMetierSeasonSelected() && getTargetSpeciesSelected());
+}
+ ]]></script>
+ <Table id='body'>
+ <row>
+ <cell fill='both' weightx='1.0' weighty='0.5'>
+ <Table>
+ <row>
+ <cell fill='horizontal' anchor='east'>
+ <JLabel text="isisfish.metierSeasonInfoSpecies.selectSpecies" enabled='{isActif()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='1.0'>
+ <JComboBox id="fieldTargetSpecies" onActionPerformed='targetSpeciesChanged()' enabled='{isActif()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
+ <InputOneEquationUI id='targetFactor' constructorParams='this'
+ actif='{isActif()}'
+ lblText='{_("isisfish.metierSeasonInfoSpecies.targetFactor")}'
+ bean='{getBean()}' nameEquation='TargetFactor'
+ clazz='{fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation.class}'
+ decorator='boxed' _bean='{MetierImpl.class}' _method='""'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal'>
+ <JPanel/>
+ </cell>
+ <cell fill='horizontal' weightx='1.0'>
+ <JCheckBox id="fieldPrimaryCatch" text="isisfish.metierSeasonInfoSpecies.mainSpecies" enabled='{isActif()}'/>
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ </row>
+ <row>
+ <cell fill='both' weightx='1.0' weighty='0.5'>
+ <Table>
+ <row>
+ <cell columns='2' fill='horizontal' weightx='1.0'>
+ <JButton id="add" text="isisfish.common.add" onActionPerformed='add()' enabled='{isActif()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
+ <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
+ <JTable id="tableTargetSpecies" rowHeight='24' enabled='{isActif()}'/>
+ </JScrollPane>
+ </cell>
+ </row>
+ <row>
+ <cell columns='2' fill='horizontal' weightx='1.0'>
+ <JButton id="remove" text="isisfish.common.remove" onActionPerformed='remove()' enabled='{isActif()}'/>
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ </row>
+ </Table>
+</fr.ifremer.isisfish.ui.input.InputContentUI>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-17 14:39:41 UTC (rev 1983)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-17 15:11:59 UTC (rev 1984)
@@ -39,28 +39,15 @@
<fr.ifremer.isisfish.entities.MetierSeasonInfoImpl id='metierInfo' javaBean='null'/>
<Boolean id='metierSeasonSelected' javaBean='false'/>
-
- <Boolean id='targetSpeciesSelected' javaBean='false'/>
<script><![CDATA[
-import com.l2fprod.common.swing.renderer.BooleanCellRenderer;
import java.util.logging.Level;
import java.util.logging.Logger;
-import fr.ifremer.isisfish.entities.Equation;
-import fr.ifremer.isisfish.entities.Formule;
import fr.ifremer.isisfish.entities.Metier;
import fr.ifremer.isisfish.entities.MetierImpl;
import fr.ifremer.isisfish.entities.MetierSeasonInfo;
import fr.ifremer.isisfish.entities.MetierSeasonInfoImpl;
-import fr.ifremer.isisfish.entities.TargetSpecies;
import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
-import fr.ifremer.isisfish.ui.widget.editor.EquationTableEditor;
-import fr.ifremer.isisfish.ui.WelcomePanelUI;
-import org.codelutin.topia.persistence.TopiaEntity;
-import javax.swing.table.DefaultTableModel;
-import fr.ifremer.isisfish.entities.Species;
-import org.codelutin.topia.TopiaContext;
-import javax.swing.table.TableCellEditor;
addPropertyChangeListener("bean", new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
@@ -75,54 +62,20 @@
}
});
-tableTargetSpecies.addMouseListener(new MouseListener() {
-
- @Override
- public void mouseClicked(MouseEvent e) {
- }
-
- @Override
- public void mousePressed(MouseEvent e) {
- }
-
- @Override
- public void mouseReleased(MouseEvent e) {
- remove.setEnabled(tableTargetSpecies.getSelectedRow() != -1);
- }
-
- @Override
- public void mouseEntered(MouseEvent e) {
- }
-
- @Override
- public void mouseExited(MouseEvent e) {
- }
-});
public void refresh() {
getVerifier().setSaveButton(save);
getVerifier().setCancelButton(cancel);
Metier metier = getVerifier().getEntity(Metier.class);
setBean((MetierImpl) metier);
- getVerifier().addCurrentPanel(targetFactor);
+ getVerifier().addCurrentPanel(editor);
if (getBean() != null){
- if (fieldMetierSeasonInfo.getSelectedIndex() <= 0){
- setSeasonModel();
- }
- else {
- setTableTargetSpeciesModel();
- }
- if (fieldTargetSpecies.getSelectedIndex() <= 0){
- setTargetSpeciesModel();
- }
- setTableTargetSpeciesModel();
+ setSeasonModel();
}
else{
DefaultComboBoxModel seasonModel = new DefaultComboBoxModel();
fieldMetierSeasonInfo.setModel(seasonModel);
- setTargetSpeciesModel();
}
- remove.setEnabled(false);
- setAddButton();
+
}
protected void setSeasonModel(){
DefaultComboBoxModel seasonModel = new DefaultComboBoxModel();
@@ -135,95 +88,14 @@
}
fieldMetierSeasonInfo.setModel(seasonModel);
}
-protected void setTargetSpeciesModel(){
- DefaultComboBoxModel fieldTargetSpeciesModel = new DefaultComboBoxModel();
- java.util.List<Species> species = getRegion().getSpecies();
- if (species != null){
- fieldTargetSpeciesModel.addElement(new GenericCell(" ", null, null));
- for (Species s : species){
- fieldTargetSpeciesModel.addElement(new GenericCell(s.getName(), s, Species.class));
- }
- }
- fieldTargetSpecies.setModel(fieldTargetSpeciesModel);
-}
-protected void setTableTargetSpeciesModel(){
- DefaultTableModel model = new DefaultTableModel(){
- @Override
- public boolean isCellEditable(int row, int column) {
- boolean result = false;
- if (column > 0){
- result =true;
- }
- return result;
- }
- };
- Object season = ((GenericCell)fieldMetierSeasonInfo.getSelectedItem()).getValue();
- if (season != null){
- Collection<TargetSpecies> targetSpecies = ((MetierSeasonInfo)season).getSpeciesTargetSpecies();
- if (targetSpecies != null){
- ArrayList <GenericCell> species = new ArrayList <GenericCell>();
- ArrayList <Equation> equations = new ArrayList <Equation>();
- ArrayList <Boolean> primaryCatch = new ArrayList <Boolean>();
- for (TargetSpecies t : targetSpecies){
- Species s = t.getSpecies();
- Equation e = t.getTargetFactorEquation();
- Boolean b = t.getPrimaryCatch();
- species.add(new GenericCell(s.getName(),s,Species.class));
- equations.add(e);
- primaryCatch.add(b);
- }
- model.addColumn("Species", species.toArray());
- model.addColumn("Target factor", equations.toArray());
- model.addColumn("Main species for the metier", primaryCatch.toArray());
- }
- tableTargetSpecies.setModel(model);
- EquationTableEditor cellEditor = new EquationTableEditor();
- tableTargetSpecies.getColumnModel().getColumn(1).setCellEditor(cellEditor);
- }
-}
-protected void add(){
- Object season = ((GenericCell)fieldMetierSeasonInfo.getSelectedItem()).getValue();
- Object species = ((GenericCell)fieldTargetSpecies.getSelectedItem()).getValue();
- if (season != null && species != null){
- getContextValue(InputAction.class).addTargetSpecies(
- getBean(),
- (MetierSeasonInfo)season,
- (Species)species,
- targetFactor.getEditor().getText(),
- fieldPrimaryCatch.isSelected());
- setTableTargetSpeciesModel();
- }
-}
-protected void remove(){
- if (isMetierSeasonSelected()){
- Object[] targetSpecies = getMetierInfo().getSpeciesTargetSpecies().toArray();
-
- Object o = targetSpecies[tableTargetSpecies.getSelectedRow()];
- if (o != null){
- TargetSpecies ts = (TargetSpecies)o;
- getAction().removeTargetSpecies(getMetierInfo(), ts);
- setTableTargetSpeciesModel();
- }
- }
-}
protected void metierSeasonChanged(){
setMetierSeasonSelected(fieldMetierSeasonInfo.getSelectedItem() != null);
if (isMetierSeasonSelected()){
setMetierInfo((MetierSeasonInfoImpl)((GenericCell)fieldMetierSeasonInfo.getSelectedItem()).getValue());
getVerifier().addCurrentEntity(getMetierInfo());
}
- setTargetSpeciesModel();
- setTableTargetSpeciesModel();
- setAddButton();
+ editor.refresh();
}
-protected void targetSpeciesChanged(){
- setTargetSpeciesSelected(fieldTargetSpecies.getSelectedItem() != null);
- setTableTargetSpeciesModel();
- setAddButton();
-}
-protected void setAddButton(){
- add.setEnabled(getMetierSeasonSelected() && getTargetSpeciesSelected());
-}
]]></script>
<Table id='body'>
<row>
@@ -238,54 +110,18 @@
</cell>
</row>
<row>
- <cell fill='horizontal' anchor='east'>
- <JLabel text="isisfish.metierSeasonInfoSpecies.selectSpecies" enabled='{isActif()}'/>
- </cell>
- <cell fill='horizontal' weightx='1.0'>
- <JComboBox id="fieldTargetSpecies" onActionPerformed='targetSpeciesChanged()' enabled='{isActif()}'/>
- </cell>
- </row>
- <row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='targetFactor' constructorParams='this'
- lblText='{_("isisfish.metierSeasonInfoSpecies.targetFactor")}'
- bean='{getBean()}' nameEquation='TargetFactor'
- clazz='{fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation.class}'
- decorator='boxed' _bean='{MetierImpl.class}' _method='""'/>
+ <MetierSeasonInfoSpeciesEditorUI id='editor' constructorParams='this' bean='{getBean()}' metierInfo='{getMetierInfo()}' metierSeasonSelected='{getMetierSeasonSelected()}' actif='{isActif()}'
+ decorator='boxed' _bean='{MetierSeasonInfoImpl.class}' _method='"SpeciesTargetSpecies"'/>
</cell>
</row>
- <row>
- <cell fill='horizontal'>
- <JPanel/>
- </cell>
- <cell fill='horizontal' weightx='1.0'>
- <JCheckBox id="fieldPrimaryCatch" text="isisfish.metierSeasonInfoSpecies.mainSpecies" enabled='{isActif()}'/>
- </cell>
- </row>
</Table>
</cell>
</row>
<row>
- <cell fill='both' weightx='1.0' weighty='0.5'>
+ <cell fill='horizontal' weightx='1.0'>
<Table>
<row>
- <cell columns='2' fill='horizontal' weightx='1.0'>
- <JButton id="add" text="isisfish.common.add" onActionPerformed='add()' enabled='{isActif()}'/>
- </cell>
- </row>
- <row>
- <cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
- <JTable id="tableTargetSpecies" rowHeight='24' enabled='{isActif()}'/>
- </JScrollPane>
- </cell>
- </row>
- <row>
- <cell columns='2' fill='horizontal' weightx='1.0'>
- <JButton id="remove" text="isisfish.common.remove" onActionPerformed='remove()' enabled='{isActif()}'/>
- </cell>
- </row>
- <row>
<cell fill='horizontal' weightx='0.5'>
<JButton id='save'/>
</cell>
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-03-17 14:39:41 UTC (rev 1983)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx 2009-03-17 15:11:59 UTC (rev 1984)
@@ -59,7 +59,7 @@
<JTabbedPane id="metierTab" name="Metier" constraints='BorderLayout.CENTER' >
<tab title='{_("isisfish.metier.title")}'><MetierTabUI id="metierTabUI" constructorParams='this'/></tab>
<tab title='{_("isisfish.metierSeasonInfoZone.title")}'><MetierSeasonInfoZoneUI id="metierSeasonInfoUI" constructorParams='this'/></tab>
- <tab title='{_("isisfish.metierSeasonInfoSpecies.title")}'><MetierSeasonInfoSpeciesUI id="metierSeasonSpeciesUI" constructorParams='this' decorator='boxed' _bean='{MetierSeasonInfoImpl.class}' _method='"SpeciesTargetSpecies"'/></tab>
+ <tab title='{_("isisfish.metierSeasonInfoSpecies.title")}'><MetierSeasonInfoSpeciesUI id="metierSeasonSpeciesUI" constructorParams='this'/></tab>
</JTabbedPane>
</JPanel>
</fr.ifremer.isisfish.ui.input.InputContentUI>
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-17 14:39:41 UTC (rev 1983)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-17 15:11:59 UTC (rev 1984)
@@ -19,11 +19,14 @@
package fr.ifremer.isisfish.ui.sensitivity;
import fr.ifremer.isisfish.entities.Formule;
+import fr.ifremer.isisfish.entities.TargetSpecies;
import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain;
import fr.ifremer.isisfish.types.Month;
import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputOneEquationUI;
+import fr.ifremer.isisfish.ui.input.InputSaveVerifier;
+import fr.ifremer.isisfish.ui.input.MetierSeasonInfoSpeciesEditorUI;
import fr.ifremer.isisfish.ui.input.PopulationMigrationEmigrationUI;
import fr.ifremer.isisfish.ui.input.PopulationMigrationImmigrationUI;
import fr.ifremer.isisfish.ui.input.PopulationMigrationMigrationUI;
@@ -47,6 +50,7 @@
import org.codelutin.topia.persistence.TopiaEntity;
import fr.ifremer.isisfish.ui.input.RangeOfValuesUI;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -120,6 +124,17 @@
result = ipResult;
} else if (result instanceof RangeOfValuesUI){
result = new JTextField("");
+ } else if (result instanceof MetierSeasonInfoSpeciesEditorUI){
+ MetierSeasonInfoSpeciesEditorUI origine = (MetierSeasonInfoSpeciesEditorUI)c;
+ MetierSeasonInfoSpeciesEditorUI ui = new MetierSeasonInfoSpeciesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()).add(new InputSaveVerifier()));
+ ui.setBean(origine.getBean());
+ if (origine.getMetierInfo() != null){
+ ui.setMetierInfo(origine.getMetierInfo());
+ ui.setMetierSeasonSelected(true);
+ ui.setActif(true);
+ }
+ ui.refresh();
+ result = ui;
} else if (result instanceof PopulationZonesEditorUI){
PopulationZonesEditorUI origine = (PopulationZonesEditorUI)c;
PopulationZonesEditorUI ui = new PopulationZonesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()));
@@ -285,6 +300,18 @@
ipResult.setLabelRenderer(Month.MONTH);
ipResult.setModel(ip.getModel().clone());
result = ipResult;
+ } else if (result instanceof MetierSeasonInfoSpeciesEditorUI){
+ MetierSeasonInfoSpeciesEditorUI origine = (MetierSeasonInfoSpeciesEditorUI)c;
+ MetierSeasonInfoSpeciesEditorUI ui = new MetierSeasonInfoSpeciesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()).add(new InputSaveVerifier()));
+ ui.setBean(origine.getBean());
+ if (origine.getMetierInfo() != null){
+ ui.setMetierInfo(origine.getMetierInfo());
+ ui.getMetierInfo().setSpeciesTargetSpecies((Collection<TargetSpecies>)value);
+ ui.setMetierSeasonSelected(true);
+ ui.setActif(true);
+ }
+ ui.refresh();
+ result = ui;
} else if (result instanceof PopulationZonesEditorUI){
PopulationZonesEditorUI origine = (PopulationZonesEditorUI)c;
PopulationZonesEditorUI ui = new PopulationZonesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()));
@@ -356,6 +383,12 @@
} else if (c instanceof IntervalPanel){
// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
+ } else if (c instanceof MetierSeasonInfoSpeciesEditorUI){
+ result = ((MetierSeasonInfoSpeciesEditorUI)c).getMetierInfo().getSpeciesTargetSpecies();
+
+ } else if (result instanceof PopulationZonesEditorUI){
+ result = ((PopulationZonesEditorUI)c).getFieldPopulationMappingZoneReproZoneRecru().getMatrix();
+
} else if (c instanceof RangeOfValuesUI){
} else if (c instanceof PopulationMigrationMigrationUI){
1
0
r1983 - in isis-fish/trunk: . src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities
by chatellier@users.labs.libre-entreprise.org 17 Mar '09
by chatellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: chatellier
Date: 2009-03-17 14:39:41 +0000 (Tue, 17 Mar 2009)
New Revision: 1983
Modified:
isis-fish/trunk/pom.xml
isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/MetierImpl.hbm.xml
isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/PopulationImpl.hbm.xml
isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/StrategyImpl.hbm.xml
Log:
Correct regression du to topia "order-by" change
Modified: isis-fish/trunk/pom.xml
===================================================================
--- isis-fish/trunk/pom.xml 2009-03-17 14:14:48 UTC (rev 1982)
+++ isis-fish/trunk/pom.xml 2009-03-17 14:39:41 UTC (rev 1983)
@@ -346,7 +346,7 @@
<!-- Custom version -->
<jaxx.version>1.3-SNAPSHOT</jaxx.version>
- <topia.version>2.1.3</topia.version>
+ <topia.version>2.1.4-SNAPSHOT</topia.version>
<topia.service.version>1.0.2</topia.service.version>
<lutinmatrix.version>1.3-SNAPSHOT</lutinmatrix.version>
<lutinutil.version>1.0.3</lutinutil.version>
Modified: isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/MetierImpl.hbm.xml
===================================================================
--- isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/MetierImpl.hbm.xml 2009-03-17 14:14:48 UTC (rev 1982)
+++ isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/MetierImpl.hbm.xml 2009-03-17 14:39:41 UTC (rev 1983)
@@ -14,7 +14,7 @@
<key column="possibleMetiers"/>
<one-to-many class="fr.ifremer.isisfish.entities.EffortDescriptionImpl" node="topiaId" embed-xml="false"/>
</bag>
- <bag name="metierSeasonInfo" inverse="true" lazy="true" cascade="all,delete-orphan" node="metierSeasonInfo" embed-xml="false">
+ <bag name="metierSeasonInfo" inverse="true" order-by="firstMonth, lastMonth" lazy="true" cascade="all,delete-orphan" node="metierSeasonInfo" embed-xml="false">
<key column="metier"/>
<one-to-many class="fr.ifremer.isisfish.entities.MetierSeasonInfoImpl" node="topiaId" embed-xml="false"/>
</bag>
Modified: isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/PopulationImpl.hbm.xml
===================================================================
--- isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/PopulationImpl.hbm.xml 2009-03-17 14:14:48 UTC (rev 1982)
+++ isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/PopulationImpl.hbm.xml 2009-03-17 14:39:41 UTC (rev 1983)
@@ -47,11 +47,11 @@
<key column="population"/>
<one-to-many class="fr.ifremer.isisfish.entities.SelectivityImpl" node="topiaId" embed-xml="false"/>
</bag>
- <bag name="populationGroup" lazy="true" cascade="all,delete-orphan" node="populationGroup" embed-xml="false">
+ <bag name="populationGroup" order-by="id" lazy="true" cascade="all,delete-orphan" node="populationGroup" embed-xml="false">
<key column="population"/>
<one-to-many class="fr.ifremer.isisfish.entities.PopulationGroupImpl" node="topiaId" embed-xml="false"/>
</bag>
- <bag name="populationSeasonInfo" inverse="true" lazy="true" cascade="all,delete-orphan" node="populationSeasonInfo" embed-xml="false">
+ <bag name="populationSeasonInfo" inverse="true" order-by="firstMonth, lastMonth" lazy="true" cascade="all,delete-orphan" node="populationSeasonInfo" embed-xml="false">
<key column="population"/>
<one-to-many class="fr.ifremer.isisfish.entities.PopulationSeasonInfoImpl" node="topiaId" embed-xml="false"/>
</bag>
Modified: isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/StrategyImpl.hbm.xml
===================================================================
--- isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/StrategyImpl.hbm.xml 2009-03-17 14:14:48 UTC (rev 1982)
+++ isis-fish/trunk/src/main/resources/oldmappings/IsisFish/3.2/fr/ifremer/isisfish/entities/StrategyImpl.hbm.xml 2009-03-17 14:39:41 UTC (rev 1983)
@@ -11,7 +11,7 @@
<property name="inactivityEquationUsed" type="boolean" access="field" column="inactivityEquationUsed" node="inactivityEquationUsed"/>
<many-to-one name="inactivityEquation" class="fr.ifremer.isisfish.entities.EquationImpl" column="inactivityEquation" cascade="delete" node="inactivityEquation/@topiaId" embed-xml="false" />
<many-to-one name="setOfVessels" class="fr.ifremer.isisfish.entities.SetOfVesselsImpl" column="setOfVessels" node="setOfVessels/@topiaId" embed-xml="false" />
- <bag name="strategyMonthInfo" inverse="true" lazy="true" cascade="all,delete-orphan" node="strategyMonthInfo" embed-xml="false">
+ <bag name="strategyMonthInfo" inverse="true" order-by="month" lazy="true" cascade="all,delete-orphan" node="strategyMonthInfo" embed-xml="false">
<key column="strategy"/>
<one-to-many class="fr.ifremer.isisfish.entities.StrategyMonthInfoImpl" node="topiaId" embed-xml="false"/>
</bag>
1
0
r1982 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: input sensitivity
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: sletellier
Date: 2009-03-17 14:14:48 +0000 (Tue, 17 Mar 2009)
New Revision: 1982
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesEditorUI.jaxx
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/PopulationZonesUI.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/FactorWizard.jaxx
Log:
Factor of PopulationZone is done
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-03-17 13:33:34 UTC (rev 1981)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx 2009-03-17 14:14:48 UTC (rev 1982)
@@ -72,7 +72,7 @@
<PopulationEquationUI id='populationEquationUI' constructorParams='this'/>
</tab>
<tab title='{_("isisfish.populationZones.title")}'>
- <PopulationZonesUI id='populationZoneUI' constructorParams='this' decorator='boxed' _bean='{PopulationImpl.class}' _method='"MappingZoneReproZoneRecru"'/>
+ <PopulationZonesUI id='populationZoneUI' constructorParams='this'/>
</tab>
<tab title='{_("isisfish.populationSeasons.title")}'>
<PopulationSeasonsUI id='populationSeasonsUI' constructorParams='this'/>
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesEditorUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesEditorUI.jaxx (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesEditorUI.jaxx 2009-03-17 14:14:48 UTC (rev 1982)
@@ -0,0 +1,172 @@
+
+<fr.ifremer.isisfish.ui.input.InputContentUI>
+
+ <!-- bean property -->
+ <fr.ifremer.isisfish.entities.PopulationImpl id='bean' javaBean='null'/>
+
+ <script><![CDATA[
+
+import jaxx.runtime.swing.JAXXList;
+import fr.ifremer.isisfish.entities.Zone;
+import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
+import fr.ifremer.isisfish.entities.Population;
+import fr.ifremer.isisfish.entities.PopulationImpl;
+import org.codelutin.topia.persistence.TopiaEntity;
+import fr.ifremer.isisfish.ui.WelcomePanelUI;
+import org.codelutin.math.matrix.gui.MatrixPanelEvent;
+import org.codelutin.math.matrix.gui.MatrixPanelListener;
+
+MatrixPanelListener listener = new MatrixPanelListener() {
+
+ @Override
+ public void matrixChanged(MatrixPanelEvent arg0) {
+ fieldPopulationMappingZoneReproZoneRecruChanged();
+ }
+};
+
+addPropertyChangeListener("bean", new PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (evt.getOldValue() != null || evt.getNewValue() == null) {
+ // remove previous binding on getBean()
+ //jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");
+ }
+ if (evt.getNewValue() != null) {
+ // add binding on getBean()
+ //jaxx.runtime.SwingUtil.applyDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");
+ }
+ }
+});
+
+public void refresh(){
+ setPopulationZonesPresenceModel();
+ setFieldPopulationZonesReproductionModel();
+ setFieldPopulationZonesRecruitmentModel();
+ fieldPopulationMappingZoneReproZoneRecru.removeMatrixPanelListener(listener);
+ setFieldPopulationMappingZoneReproZoneRecru();
+ fieldPopulationMappingZoneReproZoneRecru.addMatrixListener(listener);
+}
+protected void fieldPopulationMappingZoneReproZoneRecruChanged(){
+ getBean().setMappingZoneReproZoneRecru(fieldPopulationMappingZoneReproZoneRecru.getMatrix());
+}
+protected void setFieldPopulationMappingZoneReproZoneRecru(){
+ if (getBean() != null){
+ if (getBean().getMappingZoneReproZoneRecru() != null){
+ fieldPopulationMappingZoneReproZoneRecru.setMatrix(getBean().getMappingZoneReproZoneRecru().copy());
+ }
+ }
+}
+protected void setPopulationZonesPresenceModel(){
+ if (getBean() != null){
+ setModel(getBean().getPopulationZone(), populationZonesPresence);
+ }
+}
+protected void setFieldPopulationZonesReproductionModel(){
+ if (getBean() != null){
+ setModel(getBean().getReproductionZone(), fieldPopulationZonesReproduction);
+ }
+}
+protected void setFieldPopulationZonesRecruitmentModel(){
+ if (getBean() != null){
+ setModel(getBean().getRecruitmentZone(), fieldPopulationZonesRecruitment);
+ }
+}
+protected void setModel(java.util.List<Zone> selected, JAXXList componant){
+ DefaultListModel model = new DefaultListModel();
+ java.util.List<Zone> zones = getRegion().getZone();
+ java.util.List<GenericCell> selectedZones = new ArrayList<GenericCell>();
+ if (zones != null){
+ for (Zone z : zones){
+ GenericCell cell = new GenericCell(z.getName(), z, Zone.class);
+ model.addElement(cell);
+ if (selected != null){
+ if (selected.contains(z)){
+ selectedZones.add(cell);
+ }
+ }
+ }
+ }
+ componant.setModel(model);
+ if (selectedZones.size() > 0){
+ java.util.List <Integer> indicesList = new ArrayList<Integer>();
+ for (GenericCell c : selectedZones){
+ indicesList.add(model.indexOf(c));
+ }
+ int[] indices = new int[indicesList.size()];
+ int cnt = 0;
+ for (Integer i : indicesList){
+ indices[cnt]=i;
+ cnt ++;
+ }
+ componant.setSelectedIndices(indices);
+ }
+}
+protected void presenceChanged(){
+ getBean().setPopulationZone(getSelectedValue(populationZonesPresence));
+ setFieldPopulationMappingZoneReproZoneRecru();
+}
+protected void reproductionChanged(){
+ getBean().setReproductionZone(getSelectedValue(fieldPopulationZonesReproduction));
+ setFieldPopulationMappingZoneReproZoneRecru();
+}
+protected void recruitementChanged(){
+ getBean().setRecruitmentZone(getSelectedValue(fieldPopulationZonesRecruitment));
+ setFieldPopulationMappingZoneReproZoneRecru();
+}
+protected java.util.List<Zone> getSelectedValue(JAXXList componant){
+ Object[] selected = componant.getSelectedValues();
+ java.util.List<Zone> selectedZone = new ArrayList<Zone>();
+ if (selected != null){
+ for (Object i : selected){
+ GenericCell cell = (GenericCell)i;
+ if (cell.getValue() != null){
+ selectedZone.add((Zone)cell.getValue());
+ }
+ }
+ }
+ return selectedZone;
+}
+ ]]>
+ </script>
+ <Table id='body'>
+
+
+ <row>
+ <cell fill='horizontal' weightx='0.3'>
+ <JLabel text="isisfish.populationZones.selectPopulationAreas" enabled='{isActif()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.3'>
+ <JLabel text="isisfish.populationZones.selectSpawningAreas" enabled='{isActif()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.3'>
+ <JLabel text="isisfish.populationZones.selectRecruitmentAreas" enabled='{isActif()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='both' weightx='0.3' weighty='0.5'>
+ <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
+ <JList id="populationZonesPresence" onMouseClicked='presenceChanged()' enabled='{isActif()}'/>
+ </JScrollPane>
+ </cell>
+ <cell fill='both' weightx='0.3' weighty='0.5'>
+ <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
+ <JList id="fieldPopulationZonesReproduction" onMouseClicked='reproductionChanged()' enabled='{isActif()}'/>
+ </JScrollPane>
+ </cell>
+ <cell fill='both' weightx='0.3' weighty='0.5'>
+ <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
+ <JList id="fieldPopulationZonesRecruitment" onMouseClicked='recruitementChanged()' enabled='{isActif()}'/>
+ </JScrollPane>
+ </cell>
+ </row>
+ <row>
+ <cell columns='3' anchor='west'>
+ <JLabel text="isisfish.populationZones.betweenSpawningRecruitmentAreas" enabled='{isActif()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='3' fill='both' weightx='1.0' weighty='0.5'>
+ <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationMappingZoneReproZoneRecru' enabled='{isActif()}'/>
+ </cell>
+ </row>
+ </Table>
+</fr.ifremer.isisfish.ui.input.InputContentUI>
\ No newline at end of file
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx 2009-03-17 13:33:34 UTC (rev 1981)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx 2009-03-17 14:14:48 UTC (rev 1982)
@@ -38,172 +38,26 @@
<script><![CDATA[
-import jaxx.runtime.swing.JAXXList;
-import fr.ifremer.isisfish.entities.Zone;
-import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
import fr.ifremer.isisfish.entities.Population;
import fr.ifremer.isisfish.entities.PopulationImpl;
-import org.codelutin.topia.persistence.TopiaEntity;
-import fr.ifremer.isisfish.ui.WelcomePanelUI;
-import org.codelutin.math.matrix.gui.MatrixPanelEvent;
-import org.codelutin.math.matrix.gui.MatrixPanelListener;
-MatrixPanelListener listener = new MatrixPanelListener() {
-
- @Override
- public void matrixChanged(MatrixPanelEvent arg0) {
- fieldPopulationMappingZoneReproZoneRecruChanged();
- }
-};
-
-addPropertyChangeListener("bean", new PropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent evt) {
- if (evt.getOldValue() != null || evt.getNewValue() == null) {
- // remove previous binding on getBean()
- //jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");
- }
- if (evt.getNewValue() != null) {
- // add binding on getBean()
- //jaxx.runtime.SwingUtil.applyDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");
- }
- }
-});
-
public void refresh(){
getVerifier().setSaveButton(save);
getVerifier().setCancelButton(cancel);
Population population = getVerifier().getEntity(Population.class);
setBean((PopulationImpl) population);
- setPopulationZonesPresenceModel();
- setFieldPopulationZonesReproductionModel();
- setFieldPopulationZonesRecruitmentModel();
- fieldPopulationMappingZoneReproZoneRecru.removeMatrixPanelListener(listener);
- setFieldPopulationMappingZoneReproZoneRecru();
- fieldPopulationMappingZoneReproZoneRecru.addMatrixListener(listener);
+ getVerifier().addCurrentPanel(popZones);
}
-protected void fieldPopulationMappingZoneReproZoneRecruChanged(){
- getBean().setMappingZoneReproZoneRecru(fieldPopulationMappingZoneReproZoneRecru.getMatrix().copy());
-}
-protected void setFieldPopulationMappingZoneReproZoneRecru(){
- if (getBean() != null){
- if (getBean().getMappingZoneReproZoneRecru() != null){
- fieldPopulationMappingZoneReproZoneRecru.setMatrix(getBean().getMappingZoneReproZoneRecru().copy());
- }
- }
-}
-protected void setPopulationZonesPresenceModel(){
- if (getBean() != null){
- setModel(getBean().getPopulationZone(), populationZonesPresence);
- }
-}
-protected void setFieldPopulationZonesReproductionModel(){
- if (getBean() != null){
- setModel(getBean().getReproductionZone(), fieldPopulationZonesReproduction);
- }
-}
-protected void setFieldPopulationZonesRecruitmentModel(){
- if (getBean() != null){
- setModel(getBean().getRecruitmentZone(), fieldPopulationZonesRecruitment);
- }
-}
-protected void setModel(java.util.List<Zone> selected, JAXXList componant){
- DefaultListModel model = new DefaultListModel();
- java.util.List<Zone> zones = getRegion().getZone();
- java.util.List<GenericCell> selectedZones = new ArrayList<GenericCell>();
- if (zones != null){
- for (Zone z : zones){
- GenericCell cell = new GenericCell(z.getName(), z, Zone.class);
- model.addElement(cell);
- if (selected != null){
- if (selected.contains(z)){
- selectedZones.add(cell);
- }
- }
- }
- }
- componant.setModel(model);
- if (selectedZones.size() > 0){
- java.util.List <Integer> indicesList = new ArrayList<Integer>();
- for (GenericCell c : selectedZones){
- indicesList.add(model.indexOf(c));
- }
- int[] indices = new int[indicesList.size()];
- int cnt = 0;
- for (Integer i : indicesList){
- indices[cnt]=i;
- cnt ++;
- }
- componant.setSelectedIndices(indices);
- }
-}
-protected void presenceChanged(){
- getBean().setPopulationZone(getSelectedValue(populationZonesPresence));
- setFieldPopulationMappingZoneReproZoneRecru();
-}
-protected void reproductionChanged(){
- getBean().setReproductionZone(getSelectedValue(fieldPopulationZonesReproduction));
- setFieldPopulationMappingZoneReproZoneRecru();
-}
-protected void recruitementChanged(){
- getBean().setRecruitmentZone(getSelectedValue(fieldPopulationZonesRecruitment));
- setFieldPopulationMappingZoneReproZoneRecru();
-}
-protected java.util.List<Zone> getSelectedValue(JAXXList componant){
- Object[] selected = componant.getSelectedValues();
- java.util.List<Zone> selectedZone = new ArrayList<Zone>();
- if (selected != null){
- for (Object i : selected){
- GenericCell cell = (GenericCell)i;
- if (cell.getValue() != null){
- selectedZone.add((Zone)cell.getValue());
- }
- }
- }
- return selectedZone;
-}
]]>
</script>
<Table id='body'>
<row>
- <cell fill='horizontal' weightx='0.3'>
- <JLabel text="isisfish.populationZones.selectPopulationAreas" enabled='{isActif()}'/>
+ <cell fill='both' weightx='1.0' weighty='1'>
+ <PopulationZonesEditorUI id='popZones' constructorParams='this' bean='{getBean()}' actif='{isActif()}' decorator='boxed' _bean='{PopulationImpl.class}' _method='"MappingZoneReproZoneRecru"'/>
</cell>
- <cell fill='horizontal' weightx='0.3'>
- <JLabel text="isisfish.populationZones.selectSpawningAreas" enabled='{isActif()}'/>
- </cell>
- <cell fill='horizontal' weightx='0.3'>
- <JLabel text="isisfish.populationZones.selectRecruitmentAreas" enabled='{isActif()}'/>
- </cell>
</row>
<row>
- <cell fill='both' weightx='0.3' weighty='0.5'>
- <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
- <JList id="populationZonesPresence" onMouseClicked='presenceChanged()' enabled='{isActif()}'/>
- </JScrollPane>
- </cell>
- <cell fill='both' weightx='0.3' weighty='0.5'>
- <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
- <JList id="fieldPopulationZonesReproduction" onMouseClicked='reproductionChanged()' enabled='{isActif()}'/>
- </JScrollPane>
- </cell>
- <cell fill='both' weightx='0.3' weighty='0.5'>
- <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
- <JList id="fieldPopulationZonesRecruitment" onMouseClicked='recruitementChanged()' enabled='{isActif()}'/>
- </JScrollPane>
- </cell>
- </row>
- <row>
- <cell columns='3' anchor='west'>
- <JLabel text="isisfish.populationZones.betweenSpawningRecruitmentAreas" enabled='{isActif()}'/>
- </cell>
- </row>
- <row>
- <cell columns='3' fill='both' weightx='1.0' weighty='0.5'>
- <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationMappingZoneReproZoneRecru' enabled='{isActif()}'/>
- </cell>
- </row>
- <row>
- <cell columns='3' fill='horizontal' weightx='1.0'>
+ <cell fill='horizontal' weightx='1.0'>
<Table>
<row>
<cell fill='horizontal' weightx='0.5'>
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-17 13:33:34 UTC (rev 1981)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-17 14:14:48 UTC (rev 1982)
@@ -27,6 +27,7 @@
import fr.ifremer.isisfish.ui.input.PopulationMigrationEmigrationUI;
import fr.ifremer.isisfish.ui.input.PopulationMigrationImmigrationUI;
import fr.ifremer.isisfish.ui.input.PopulationMigrationMigrationUI;
+import fr.ifremer.isisfish.ui.input.PopulationZonesEditorUI;
import fr.ifremer.isisfish.ui.widget.IntervalPanel;
import java.lang.reflect.Method;
import java.util.logging.Level;
@@ -119,6 +120,13 @@
result = ipResult;
} else if (result instanceof RangeOfValuesUI){
result = new JTextField("");
+ } else if (result instanceof PopulationZonesEditorUI){
+ PopulationZonesEditorUI origine = (PopulationZonesEditorUI)c;
+ PopulationZonesEditorUI ui = new PopulationZonesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()));
+ ui.setBean(origine.getBean());
+ ui.setActif(true);
+ ui.refresh();
+ result = ui;
} else if (result instanceof PopulationMigrationMigrationUI){
PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI)c;
PopulationMigrationMigrationUI ui = new PopulationMigrationMigrationUI(new JAXXInitialContext().add(new InputAction()));
@@ -277,7 +285,15 @@
ipResult.setLabelRenderer(Month.MONTH);
ipResult.setModel(ip.getModel().clone());
result = ipResult;
- }else if (result instanceof PopulationMigrationMigrationUI){
+ } else if (result instanceof PopulationZonesEditorUI){
+ PopulationZonesEditorUI origine = (PopulationZonesEditorUI)c;
+ PopulationZonesEditorUI ui = new PopulationZonesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()));
+ ui.setBean(origine.getBean());
+ ui.getFieldPopulationMappingZoneReproZoneRecru().setMatrix((MatrixND)value);
+ ui.setActif(true);
+ ui.refresh();
+ result = ui;
+ } else if (result instanceof PopulationMigrationMigrationUI){
PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI)c;
PopulationMigrationMigrationUI ui = new PopulationMigrationMigrationUI(new JAXXInitialContext().add(new InputAction()));
ui.setBean(origine.getBean());
@@ -314,7 +330,9 @@
Object result = null;
if (c instanceof JTextComponent) {
result = ((JTextComponent)c).getText();
- } else if (c instanceof JTable){
+ } else if (c instanceof PopulationZonesEditorUI){
+ result = ((PopulationZonesEditorUI)c).getFieldPopulationMappingZoneReproZoneRecru().getMatrix();
+ } else if (c instanceof JTable){
// ((JTable) result).setText(BeanUtils.getProperty(e, fieldName));
} else if (c instanceof MatrixPanelEditor){
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-17 13:33:34 UTC (rev 1981)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-17 14:14:48 UTC (rev 1982)
@@ -102,7 +102,7 @@
}
init();
}
- if (!isContinueSelected()){
+ if (!isContinueSelected() && EditorHelper.isRangeOfValue(cOrigine)){
int i = 0;
for (String s : EditorHelper.getDiscretRangeOfValueValues(cOrigine, bean)){
JTextField text = new JTextField(s);
1
0
r1981 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: input sensitivity
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: sletellier
Date: 2009-03-17 13:33:34 +0000 (Tue, 17 Mar 2009)
New Revision: 1981
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/RangeOfValuesUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.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/FactorWizard.jaxx
Log:
Factor of range of value is done
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx 2009-03-17 09:44:29 UTC (rev 1980)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx 2009-03-17 13:33:34 UTC (rev 1981)
@@ -115,7 +115,7 @@
<JLabel text="isisfish.gear.rangeValues" enabled='{isActif()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <RangeOfValuesUI id="rangeOfValues" actif='{isActif()}' constructorParams='this'/>
+ <RangeOfValuesUI id="rangeOfValues" actif='{isActif()}' constructorParams='this' decorator='boxed' _bean='{GearImpl.class}' _method='"PossibleValue"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx 2009-03-17 09:44:29 UTC (rev 1980)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx 2009-03-17 13:33:34 UTC (rev 1981)
@@ -91,7 +91,7 @@
<JLabel text="isisfish.metier.rangeValues" enabled='{isActif()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <JTextField id="fieldMetierParam" text='{jaxx.runtime.SwingUtil.getStringValue(getBean().getGearParameterValue())}' onKeyReleased='getBean().setGearParameterValue(fieldMetierParam.getText())' enabled='{isActif()}' decorator='boxed' _bean='{MetierImpl.class}' _method='"GearParameterValue"'/>
+ <JTextField id="fieldMetierParam" text='{jaxx.runtime.SwingUtil.getStringValue(getBean().getGearParameterValue())}' onKeyReleased='getBean().setGearParameterValue(fieldMetierParam.getText())' enabled='{isActif()}' decorator='boxed' editable='{false}'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/RangeOfValuesUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/RangeOfValuesUI.jaxx 2009-03-17 09:44:29 UTC (rev 1980)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/RangeOfValuesUI.jaxx 2009-03-17 13:33:34 UTC (rev 1981)
@@ -50,7 +50,7 @@
<JComboBox id="fieldGearParamType" onActionPerformed='paramChanged()' enabled='{isActif()}'/>
</cell>
<cell fill='horizontal' weightx='0.5'>
- <JTextField id="fieldGearParamPossibleValue" text='{getBean().getPossibleValue() == null ? "" : getBean().getPossibleValue().getValues()}' onKeyReleased='paramChanged()' enabled='{isActif()}' decorator='boxed' _bean='{GearImpl.class}' _method='"PossibleValue"'/>
+ <JTextField id="fieldGearParamPossibleValue" text='{getBean().getPossibleValue() == null ? "" : getBean().getPossibleValue().getValues()}' onKeyReleased='paramChanged()' enabled='{isActif()}'/>
</cell>
</row>
</Table>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx 2009-03-17 09:44:29 UTC (rev 1980)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx 2009-03-17 13:33:34 UTC (rev 1981)
@@ -149,7 +149,7 @@
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <org.codelutin.math.matrix.gui.MatrixPanelEditor id="fieldStrategyMonthInfoProportion" linearModelShowDefault='{true}' linearModel='{false}' matrix='{getStrategyMonthInfo().getProportionMetier() == null ? null : getStrategyMonthInfo().getProportionMetier().copy()}' enabled='{isActif()}' decorator='boxed' _bean='{StrategyMonthInfoImpl.class}' _method='"ProportionMetier"'/>
+ <org.codelutin.math.matrix.gui.MatrixPanelEditor id="fieldStrategyMonthInfoProportion" linearModelShowDefault='{true}' linearModel='{true}' matrix='{getStrategyMonthInfo().getProportionMetier() == null ? null : getStrategyMonthInfo().getProportionMetier().copy()}' enabled='{isActif()}' decorator='boxed' _bean='{StrategyMonthInfoImpl.class}' _method='"ProportionMetier"'/>
</cell>
</row>
</Table>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.jaxx 2009-03-17 09:44:29 UTC (rev 1980)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.jaxx 2009-03-17 13:33:34 UTC (rev 1981)
@@ -56,7 +56,7 @@
});
-public void init(JTextField cMax, JTextField cMin, int inc){
+public void init(JTextField cMin, JTextField cMax){
continueMax = cMax;
continueMin = cMin;
continueMax.setEnabled(isContinueSelected());
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-17 09:44:29 UTC (rev 1980)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-17 13:33:34 UTC (rev 1981)
@@ -45,6 +45,11 @@
import org.codelutin.math.matrix.gui.MatrixPanelEditor;
import org.codelutin.topia.persistence.TopiaEntity;
import fr.ifremer.isisfish.ui.input.RangeOfValuesUI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import javax.swing.JPanel;
/**
*
@@ -113,12 +118,7 @@
ipResult.setModel(ip.getModel().clone());
result = ipResult;
} else if (result instanceof RangeOfValuesUI){
- RangeOfValuesUI origine = (RangeOfValuesUI)c;
- RangeOfValuesUI ui = new RangeOfValuesUI(new JAXXInitialContext().add(new InputAction()));
- ui.setBean(e);
- ui.setActif(true);
- ui.refresh();
- result = ui;
+ result = new JTextField("");
} else if (result instanceof PopulationMigrationMigrationUI){
PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI)c;
PopulationMigrationMigrationUI ui = new PopulationMigrationMigrationUI(new JAXXInitialContext().add(new InputAction()));
@@ -175,7 +175,7 @@
continuousPanel = new DefaultContinuousPanel();
result = continuousPanel;
}
- continuousPanel.init(getNewBoundEditor(c, e), getNewBoundEditor(c, e), 0);
+ continuousPanel.init(getNewBoundEditor(c, e), getNewBoundEditor(c, e));
} catch (Exception ex) {
Logger.getLogger(EditorHelper.class.getName()).log(Level.SEVERE, null, ex);
}
@@ -216,7 +216,7 @@
continuousPanel = new DefaultContinuousPanel();
result = continuousPanel;
}
- continuousPanel.init(new JTextField(String.valueOf(domain.getMinBound())), new JTextField(String.valueOf(domain.getMaxBound())), domain.getCardinality());
+ continuousPanel.init(new JTextField(String.valueOf(domain.getMinBound())), new JTextField(String.valueOf(domain.getMaxBound())));
} catch (Exception ex) {
Logger.getLogger(EditorHelper.class.getName()).log(Level.SEVERE, null, ex);
}
@@ -233,6 +233,8 @@
} else if (result instanceof JTable){
// ((JTable) result).setModel(((JTable)c).getModel());
+ } else if (result instanceof RangeOfValuesUI){
+ result = new JTextField(value.toString());
} else if (result instanceof MatrixPanelEditor){
MatrixPanelEditor ui = (MatrixPanelEditor) c;
MatrixPanelEditor matrix = new MatrixPanelEditor();
@@ -336,17 +338,37 @@
} else if (c instanceof IntervalPanel){
// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
- } else if (result instanceof PopulationMigrationMigrationUI){
+ } else if (c instanceof RangeOfValuesUI){
+
+ } else if (c instanceof PopulationMigrationMigrationUI){
result = ((PopulationMigrationMigrationUI)c).getPopInfo().getMigrationMatrix();
- } else if (result instanceof PopulationMigrationEmigrationUI){
+ } else if (c instanceof PopulationMigrationEmigrationUI){
result = ((PopulationMigrationEmigrationUI)c).getPopInfo().getEmigrationMatrix();
- } else if (result instanceof PopulationMigrationImmigrationUI){
+ } else if (c instanceof PopulationMigrationImmigrationUI){
result = ((PopulationMigrationImmigrationUI)c).getPopInfo().getImmigrationMatrix();
}
return result;
}
+ public static boolean isRangeOfValue(JComponent c){
+ if (c instanceof RangeOfValuesUI){
+ return true;
+ }
+ return false;
+ }
+ public static boolean isContinue(JComponent c){
+ if (c instanceof RangeOfValuesUI){
+ RangeOfValuesUI ui = (RangeOfValuesUI)c;
+ if (ui.getFieldGearParamType().getSelectedItem().equals("Float")){
+ String value = ui.getFieldGearParamPossibleValue().getText();
+ if (value.matches("^\\ *[0-9]*\\ *\\-\\ *[0-9]*\\ *$")){
+ return true;
+ }
+ }
+ }
+ return false;
+ }
public static boolean canBeContinue(JComponent c, TopiaEntity e){
String fieldName = (String) c.getClientProperty("method");
if (c instanceof JTextComponent) {
@@ -356,7 +378,12 @@
return true;
} else if (c instanceof MatrixPanelEditor){
return true;
- }
+ } else if (c instanceof RangeOfValuesUI){
+ RangeOfValuesUI ui = (RangeOfValuesUI)c;
+ if (ui.getFieldGearParamType().getSelectedItem().equals("Float")){
+ return true;
+ }
+ }
return false;
}
public static boolean canBeContinue(JComponent c, Object o){
@@ -379,4 +406,57 @@
}
return result;
}
+
+// RangeOfValue
+ public static ContinuousPanelContainer getContinuousRangeOfValuePanel(JComponent cOrigine, TopiaEntity bean){
+ DefaultContinuousPanel continuousPanel = new DefaultContinuousPanel();
+ RangeOfValuesUI ui = (RangeOfValuesUI)cOrigine;
+ String value = ui.getFieldGearParamPossibleValue().getText();
+ String min = "0";
+ String max = "0";
+ if (value.matches("^\\ *[0-9]*\\ *\\-\\ *[0-9]*\\ *$")){
+ int first = 0;
+ if(value.startsWith("-")){
+ first = 1;
+ }
+ first = value.indexOf("-");
+ if (first != -1){
+ min = value.substring(0, first);
+ max = value.substring(first+1);
+ }
+ }
+ continuousPanel.init(new JTextField(min), new JTextField(max));
+ return continuousPanel;
+ }
+ public static List<String> getDiscretRangeOfValueValues(JComponent cOrigine, TopiaEntity bean){
+ List<String> result = new ArrayList<String>();
+ RangeOfValuesUI ui = (RangeOfValuesUI)cOrigine;
+ String value = ui.getFieldGearParamPossibleValue().getText();
+ if (value.matches("^\\ *[0-9]*\\ *\\-\\ *[0-9]*\\ *$")){
+ int first = 0;
+ if(value.startsWith("-")){
+ first = 1;
+ }
+ first = value.indexOf("-");
+ int min = 0;
+ int max = 0;
+ if (first != -1){
+ min = Integer.valueOf(value.substring(0, first).trim());
+ max = Integer.valueOf(value.substring(first+1).trim());
+ }
+ for (int i = min;i <= max;i++){
+ result.add(i + "");
+ }
+ } else{
+ if (value.indexOf(";") != -1){
+ for (String s : value.split("\\;")){
+ result.add(s);
+ }
+ }
+ else {
+ result.add(value);
+ }
+ }
+ return result;
+ }
}
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-17 09:44:29 UTC (rev 1980)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-17 13:33:34 UTC (rev 1981)
@@ -36,8 +36,6 @@
<Boolean id='continueSelected' javaBean='false'/>
- <Boolean id='tabVisible' javaBean='false'/>
-
<Boolean id='saveEnabled' javaBean='false'/>
<Boolean id='existingValue' javaBean='false'/>
@@ -92,10 +90,31 @@
factorName.setText(bean.toString() + "." + methodName);
setContinuePossible(b);
+ boolean selected = EditorHelper.isContinue(cOrigine);
+ setContinueSelected(selected);
+ continueRadion.setSelected(selected);
if (isContinuePossible()){
- continuousPanel = EditorHelper.getContinuousPanel(cOrigine, bean);
+ if (EditorHelper.isRangeOfValue(cOrigine)){
+ continuousPanel = EditorHelper.getContinuousRangeOfValuePanel(cOrigine, bean);
+ }
+ else {
+ continuousPanel = EditorHelper.getContinuousPanel(cOrigine, bean);
+ }
init();
}
+ if (!isContinueSelected()){
+ int i = 0;
+ for (String s : EditorHelper.getDiscretRangeOfValueValues(cOrigine, bean)){
+ JTextField text = new JTextField(s);
+ discretComponents.add(text);
+ tabPane.add(text, "Factor " + (i+1));
+ i++;
+ }
+ }
+ if (continuousPanel != null){
+ continuousPanel.setContinueSelected(selected);
+ }
+ setContinueSelected(EditorHelper.isContinue(cOrigine));
setSaveEnabled(!factorName.getText().equals(""));
}
@@ -136,14 +155,12 @@
}
setContinuePossible(EditorHelper.canBeContinue(cOrigine, cache));
- setTabVisible(true);
this.pack();
}
setSaveEnabled(!factorName.getText().equals(""));
}
protected void init(){
continuousPanelContainer.add(continuousPanel, BorderLayout.CENTER);
- setTabVisible(true);
this.pack();
}
protected JComponent getNewComponent(){
@@ -158,7 +175,6 @@
discretComponents.add(c);
tabPane.add(c, "Factor " + (i+1));
}
- setTabVisible(true);
this.pack();
}
protected FactorAction getFactorAction(){
@@ -194,7 +210,7 @@
</row>
<row>
<cell columns='4' fill='horizontal' weightx='1'>
- <JRadioButton id='continueRadion' text='isisfish.factor.continue' buttonGroup='factorType' visible='{isContinuePossible()}' selected='false' onActionPerformed='setContinueSelected(continueRadion.isSelected())'/>
+ <JRadioButton id='continueRadion' text='isisfish.factor.continue' buttonGroup='factorType' visible='{isContinuePossible()}' selected='{false}' onActionPerformed='setContinueSelected(continueRadion.isSelected())'/>
</cell>
</row>
<row>
@@ -204,7 +220,7 @@
</row>
<row>
<cell columns='4' fill='horizontal' weightx='1'>
- <JRadioButton id='discret' text='isisfish.factor.discret' selected='true' buttonGroup='factorType' onActionPerformed='setContinueSelected(continueRadion.isSelected())'/>
+ <JRadioButton id='discret' text='isisfish.factor.discret' selected='{true}' buttonGroup='factorType' onActionPerformed='setContinueSelected(continueRadion.isSelected())'/>
</cell>
</row>
<row>
@@ -219,8 +235,8 @@
</cell>
</row>
<row>
- <cell columns='4' fill='both' weightx='1' weighty='0.5'>
- <JTabbedPane id='tabPane' visible='{isTabVisible() && !isContinueSelected()}' enabled='{!isContinueSelected()}'/>
+ <cell columns='4' fill='both' weightx='1' weighty='0.3'>
+ <JTabbedPane id='tabPane' visible='{!isContinueSelected()}' enabled='{!isContinueSelected()}'/>
</cell>
</row>
<row>
@@ -229,7 +245,7 @@
</cell>
</row>
<row>
- <cell columns='4' fill='both' weightx='1' weighty='0.5'>
+ <cell columns='4' fill='both' weightx='1' weighty='1'>
<JScrollPane>
<JTextArea id='comment'/>
</JScrollPane>
1
0
r1980 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/simulator resources/i18n
by chatellier@users.labs.libre-entreprise.org 17 Mar '09
by chatellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: chatellier
Date: 2009-03-17 09:44:29 +0000 (Tue, 17 Mar 2009)
New Revision: 1980
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
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:
N'affiche pas les fichiers des resultats de l'analyse qui commence par "."
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-03-16 18:42:18 UTC (rev 1979)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-17 09:44:29 UTC (rev 1980)
@@ -848,7 +848,7 @@
*
* @param masterSensitivitySimulationName nom du prefix de toutes les simulations (without _)
*
- * @return les fichiers genere lors de la seconde passe
+ * @return les fichiers genere lors de la seconde passe (seulement ceux qui ne commence pas par ".")
*/
public List<File> runSensitivitySecondPass(String masterSensitivitySimulationName) {
@@ -885,7 +885,7 @@
// FIXME take all files ?
for(File exportFile : masterExportDirectory.listFiles()) {
- if (exportFile.isFile()) {
+ if (exportFile.isFile() && !exportFile.getName().startsWith(".")) {
result.add(exportFile);
}
}
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-16 18:42:18 UTC (rev 1979)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-17 09:44:29 UTC (rev 1980)
@@ -858,6 +858,8 @@
isisfish.sensWizardPanels.validate=Validate
isisfish.sensWizardPanels.values=Values
isisfish.sensibilityWizard.title=Sensibility Wizard
+isisfish.sensitivity.secondpass=Analyze results
+isisfish.sensitivity.secondpass.title=Analyze results
isisfish.sensitivity.title=Factors input
isisfish.sensitivityChooser.title=Sensitivities input
isisfish.server.ssh.generateKey.title=Generate Ssh key
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-16 18:42:18 UTC (rev 1979)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-17 09:44:29 UTC (rev 1980)
@@ -858,6 +858,8 @@
isisfish.sensWizardPanels.validate=Valider
isisfish.sensWizardPanels.values=Valeurs
isisfish.sensibilityWizard.title=Sensibility Wizard
+isisfish.sensitivity.secondpass=Analyse des r\u00E9sultats
+isisfish.sensitivity.secondpass.title=Analyse des r\u00E9sultats
isisfish.sensitivity.title=S\u00E9lection des facteurs
isisfish.sensitivityChooser.title=M\u00E9thode de la sensibilit\u00E9
isisfish.server.ssh.generateKey.title=G\u00E9n\u00E9rer une cl\u00E9 SSH
1
0
r1979 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: sensitivity simulator
by chatellier@users.labs.libre-entreprise.org 16 Mar '09
by chatellier@users.labs.libre-entreprise.org 16 Mar '09
16 Mar '09
Author: chatellier
Date: 2009-03-16 18:42:18 +0000 (Mon, 16 Mar 2009)
New Revision: 1979
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx
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/FactorAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
Log:
Ajout de l'interface SPOD : "second pass on demand"
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-16 18:10:01 UTC (rev 1978)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-16 18:42:18 UTC (rev 1979)
@@ -45,7 +45,6 @@
import org.codelutin.math.matrix.gui.MatrixPanelEditor;
import org.codelutin.topia.persistence.TopiaEntity;
import fr.ifremer.isisfish.ui.input.RangeOfValuesUI;
-import javax.swing.JPanel;
/**
*
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-16 18:10:01 UTC (rev 1978)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-16 18:42:18 UTC (rev 1979)
@@ -23,7 +23,6 @@
import java.util.ArrayList;
import java.util.List;
import javax.swing.JComponent;
-import javax.swing.text.JTextComponent;
import org.codelutin.math.matrix.MatrixND;
/**
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx 2009-03-16 18:42:18 UTC (rev 1979)
@@ -0,0 +1,111 @@
+<!--
+/* *##%
+ * Copyright (C) 2009 Ifremer, 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.
+ *##%*/
+
+/* *
+ * SensitivitySecondPassUI.
+ *
+ * @author chatellier
+ * @version $Revision: 1312 $
+ *
+ * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $
+ * by : $Author: sletellier $
+ */
+ -->
+<Table>
+<script><![CDATA[
+ import javax.swing.table.DefaultTableModel;
+ import javax.swing.table.TableModel;
+ import jaxx.runtime.swing.Item;
+ import java.util.List;
+ import java.util.ArrayList;
+ import java.io.File;
+ import org.codelutin.util.FileUtil;
+ import fr.ifremer.isisfish.datastore.SensitivityStorage;
+ import fr.ifremer.isisfish.ui.simulator.SimulAction;
+ import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
+ import fr.ifremer.isisfish.ui.widget.editor.ParameterColumnEditor;
+ import fr.ifremer.isisfish.datastore.SimulationStorage;
+
+ /**
+ * Model de contenu de la liste des nom de simulations
+ */
+ public ComboBoxModel getSensitivitySimulationModel() {
+ List<String> asNames = new ArrayList<String>();
+ for (String simulationName : SimulationStorage.getSimulationNames()) {
+ if (simulationName.startsWith("as_")) {
+ String masterSensitivityName = simulationName.substring(0, simulationName.lastIndexOf("_"));
+ if (!asNames.contains(masterSensitivityName)) {
+ asNames.add(masterSensitivityName);
+ }
+ }
+ }
+
+ List<Item> items = new ArrayList<Item>();
+ items.add(new Item("null", " ", null, true));
+ for (String asName : asNames) {
+ items.add(new Item(asName, asName, asName, true));
+ }
+
+ fieldSensitivitySimulationSelect.setItems(items);
+ return fieldSensitivitySimulationSelect.getModel();
+ }
+
+ protected SimulAction getSimulAction() {
+ return getContextValue(SimulAction.class);
+ }
+
+ protected void launchSecondPass(ActionEvent event) {
+ if (fieldSensitivitySimulationSelect.getSelectedIndex() != -1) {
+
+ try {
+ List<File> files = getSimulAction().runSensitivitySecondPass((String)fieldSensitivitySimulationSelect.getSelectedItem());
+
+ String content = "";
+ for(File file : files) {
+ content += "Fichier " + file.getName() + "\n";
+ content += "------------------------------\n";
+ content += FileUtil.readAsString(file) + "\n";
+ content += "\n";
+ }
+ textAreaSensitivitySecondpassResult.setText(content);
+ }
+ catch(IOException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't run second pass", e);
+ }
+ }
+ }
+ }
+
+ ]]>
+ </script>
+ <row>
+ <cell fill="horizontal" weightx="1.0">
+ <JComboBox id="fieldSensitivitySimulationSelect" model='{getSensitivitySimulationModel()}' />
+ </cell>
+ <cell fill="horizontal">
+ <JButton text='isisfish.sensitivity.secondpass' onActionPerformed='launchSecondPass(event)' />
+ </cell>
+ </row>
+ <row>
+ <cell columns="2" fill="both" weightx="1.0" weighty="1.0">
+ <JTextArea id='textAreaSensitivitySecondpassResult' text=''/>
+ </cell>
+ </row>
+</Table>
\ No newline at end of file
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-16 18:10:01 UTC (rev 1978)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-03-16 18:42:18 UTC (rev 1979)
@@ -65,7 +65,10 @@
<ResultChoiceUI id="resultChoiceUI" constructorParams='getContextValue(SimulAction.class)'/>
</tab>
<tab id="advancedParamsUITab" title='isisfish.advancedParameters.title'>
- <AdvancedParamsUI id="advencedParamsUI" constructorParams='getContextValue(SimulAction.class)'/>
+ <AdvancedParamsUI id="advancedParamsUI" constructorParams='getContextValue(SimulAction.class)'/>
</tab>
+ <tab id="secondPassUITab" title='isisfish.sensitivity.secondpass.title'>
+ <SensitivitySecondPassUI id="sensitivitySecondPassUI" constructorParams='new JAXXInitialContext().add(this)'/>
+ </tab>
</JTabbedPane>
</JPanel>
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-03-16 18:10:01 UTC (rev 1978)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-16 18:42:18 UTC (rev 1979)
@@ -52,7 +52,6 @@
import fr.ifremer.isisfish.datastore.SensitivityStorage;
import fr.ifremer.isisfish.datastore.SimulationStorage;
import fr.ifremer.isisfish.datastore.SimulatorStorage;
-import fr.ifremer.isisfish.entities.Equation;
import fr.ifremer.isisfish.entities.Population;
import fr.ifremer.isisfish.entities.Species;
import fr.ifremer.isisfish.entities.Strategy;
@@ -65,9 +64,9 @@
import fr.ifremer.isisfish.simulator.launcher.SimulationService;
import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher;
import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan;
-import fr.ifremer.isisfish.simulator.sensitivity.Domain;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityException;
import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
@@ -76,7 +75,6 @@
import fr.ifremer.isisfish.ui.widget.ErrorDialogUI;
import fr.ifremer.isisfish.ui.widget.filter.FilterModel;
import java.io.Serializable;
-import java.util.Iterator;
import javax.swing.JComponent;
import org.codelutin.math.matrix.MatrixND;
@@ -841,8 +839,69 @@
}
}
-
public void launchSimulationWhithSensibility(String simulationId, SimulatorLauncher launcher) {
launchSimulation(simulationId, launcher, sensitivityCalculator, designPlan);
}
+
+ /**
+ * Lance la second passe d'une analyse de sensibilité.
+ *
+ * @param masterSensitivitySimulationName nom du prefix de toutes les simulations (without _)
+ *
+ * @return les fichiers genere lors de la seconde passe
+ */
+ public List<File> runSensitivitySecondPass(String masterSensitivitySimulationName) {
+
+ List<File> result = new ArrayList<File>();
+
+ // following code may be factorizable with :
+ // fr.ifremer.isisfish.simulator.launcher.SimulationMonitor.analyzeSensitivityResult(SimulationJob, SimulationStorage)
+
+ // calculator found
+ SensitivityCalculator sensitivityCalculator = null;
+ List<SimulationStorage> simulationStorageForAnalyze = new ArrayList<SimulationStorage>();
+ File simuationDirectory = SimulationStorage.getSimulationDirectory();
+ for (File simuation : simuationDirectory.listFiles()) {
+ if (simuation.isDirectory() && simuation.getName().startsWith(masterSensitivitySimulationName + "_")) {
+ SimulationStorage storage = SimulationStorage.getSimulation(simuation.getName());
+ simulationStorageForAnalyze.add(storage);
+
+ if (sensitivityCalculator == null) {
+ // try to find find calculator name in one storage
+ SimulationParameter params = storage.getParameter();
+ sensitivityCalculator = params.getSensitivityCalculator();
+ }
+ }
+ }
+
+ if (sensitivityCalculator != null) {
+ try {
+ // build master sensitivity export directory
+ File masterExportDirectory = new File(IsisFish.config.getDefaultExportDirectory(), masterSensitivitySimulationName);
+ if( !masterExportDirectory.isDirectory()) {
+ masterExportDirectory.mkdirs();
+ }
+ sensitivityCalculator.analyzeResult(simulationStorageForAnalyze, masterExportDirectory);
+
+ // FIXME take all files ?
+ for(File exportFile : masterExportDirectory.listFiles()) {
+ if (exportFile.isFile()) {
+ result.add(exportFile);
+ }
+ }
+ }
+ catch(SensitivityException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't call analyse result", e);
+ }
+ }
+ }
+ else {
+ if (log.isWarnEnabled()) {
+ log.warn("Can't run sensitivity second pass");
+ }
+ }
+
+ return result;
+ }
}
1
0
r1978 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain
by jcouteau@users.labs.libre-entreprise.org 16 Mar '09
by jcouteau@users.labs.libre-entreprise.org 16 Mar '09
16 Mar '09
Author: jcouteau
Date: 2009-03-16 18:10:01 +0000 (Mon, 16 Mar 2009)
New Revision: 1978
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/MatrixContinuousDomain.java
Log:
Enable setValueForIdentifier for MatrixContinuousDomain
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/MatrixContinuousDomain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/MatrixContinuousDomain.java 2009-03-16 16:50:30 UTC (rev 1977)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/MatrixContinuousDomain.java 2009-03-16 18:10:01 UTC (rev 1978)
@@ -97,4 +97,16 @@
public E getValueForIdentifier(Serializable identifier) {
return (E)identifier;
}
+
+ public void setValueForIdentifier(Serializable identifier) {
+ if (operator.equals("+")){
+ this.matrix.adds((Double)identifier);
+ }else if (operator.equals("-")){
+ this.matrix.minuss((Double)identifier);
+ }else if (operator.equals("*")){
+ this.matrix.mults((Double)identifier);
+ }else if (operator.equals("/")){
+ this.matrix.divs((Double)identifier);
+ }
+ }
}
1
0
r1977 - in isis-fish/trunk/src: main/java/fr/ifremer/isisfish/simulator/sensitivity main/resources/templates/script test/java/fr/ifremer/isisfish/simulator/sensitivity
by chatellier@users.labs.libre-entreprise.org 16 Mar '09
by chatellier@users.labs.libre-entreprise.org 16 Mar '09
16 Mar '09
Author: chatellier
Date: 2009-03-16 16:50:30 +0000 (Mon, 16 Mar 2009)
New Revision: 1977
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculator.java
isis-fish/trunk/src/main/resources/templates/script/sensitivity.ftl
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java
Log:
Ajout d'une methode sur les calculateurs permettant de savoir s'il savent gerer la cardinalit?\195?\169 ou pas.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculator.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculator.java 2009-03-16 16:12:33 UTC (rev 1976)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculator.java 2009-03-16 16:50:30 UTC (rev 1977)
@@ -44,17 +44,24 @@
String getDescription();
/**
+ * Retourne vrai si le calculateur sait gerer la cardinalité
+ * des facteurs continue.
+ *
+ * @return <tt>true</tt> s'il sait la gerer
+ */
+ boolean canManageCardinality();
+
+ /**
* Envoi un plan a faire analyser par l'outils d'analyse de sensibilité.
*
* Retourne un {@link SensitivityScenarios} qui représente l'ensemble des
* scenarios à prendre en compte pour les simulations.
*
- * @param plan
- * plan a analyser
+ * @param plan plan a analyser
+ * @param outputdirectory master sensitivity export directory
*
* @return un {@link SensitivityScenarios}
- * @throws SensitivityException
- * if calculator impl fail to execute
+ * @throws SensitivityException if calculator impl fail to execute
*
* @see DesignPlan
* @see Scenario
@@ -67,11 +74,10 @@
* Permet de renvoyer les resultats de simulations à l'outils de d'analyse
* de sensibilité.
*
- * @param sensitivityScenarios
- * résultats de scenarios
* @param simulationStorages
* ensemble des {@link SimulationStorage} qui ont résultés des
* simulations
+ * @param outputdirectory master sensitivity export directory
* @throws SensitivityException
* if calculator impl fail to execute
*
Modified: isis-fish/trunk/src/main/resources/templates/script/sensitivity.ftl
===================================================================
--- isis-fish/trunk/src/main/resources/templates/script/sensitivity.ftl 2009-03-16 16:12:33 UTC (rev 1976)
+++ isis-fish/trunk/src/main/resources/templates/script/sensitivity.ftl 2009-03-16 16:50:30 UTC (rev 1977)
@@ -44,14 +44,23 @@
}
/**
- * Envoi un plan a faire analyser par l'outils
- * d'analyse de sensibilité.
+ * Retourne vrai si le calculateur sait gerer la cardinalité
+ * des facteurs continue.
*
- * Retourne un {@link SensitivityScenarios} qui
- * représente l'ensemble des scenarios à prendre
- * en compte pour les simulations.
+ * @return <tt>true</tt> s'il sait la gerer
+ */
+ public boolean canManageCardinality() {
+ return false;
+ }
+
+ /**
+ * Envoi un plan a faire analyser par l'outils d'analyse de sensibilité.
*
+ * Retourne un {@link SensitivityScenarios} qui représente l'ensemble des
+ * scenarios à prendre en compte pour les simulations.
+ *
* @param plan plan a analyser
+ * @param outputdirectory master sensitivity export directory
*
* @return un {@link SensitivityScenarios}
* @throws SensitivityException if calculator impl fail to execute
@@ -71,19 +80,20 @@
}
/**
- * Permet de renvoyer les resultats de simulations
- * à l'outils de d'analyse de sensibilité.
+ * Permet de renvoyer les resultats de simulations à l'outils de d'analyse
+ * de sensibilité.
*
- * @param sensitivityScenarios résultats de scenarios
- * @param simulationStorages ensemble des {@link SimulationStorage}
- * qui ont résultés des simulations
- * @throws SensitivityException if calculator impl fail to execute
+ * @param simulationStorages
+ * ensemble des {@link SimulationStorage} qui ont résultés des
+ * simulations
+ * @param outputdirectory master sensitivity export directory
+ * @throws SensitivityException
+ * if calculator impl fail to execute
*
* @see SensitivityScenarios
*/
public void analyzeResult(List<SimulationStorage> simulationStorages,
- File outputdirectory)
- throws SensitivityException {
+ File outputdirectory) throws SensitivityException {
}
}
\ No newline at end of file
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java 2009-03-16 16:12:33 UTC (rev 1976)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java 2009-03-16 16:50:30 UTC (rev 1977)
@@ -48,7 +48,34 @@
return "Implementation of random sensibility calculator";
}
- public SensitivityScenarios compute(DesignPlan plan, File outputdirectory) {
+ /**
+ * Retourne vrai si le calculateur sait gerer la cardinalité
+ * des facteurs continue.
+ *
+ * @return <tt>true</tt> s'il sait la gerer
+ */
+ public boolean canManageCardinality() {
+ return false;
+ }
+
+ /**
+ * Envoi un plan a faire analyser par l'outils d'analyse de sensibilité.
+ *
+ * Retourne un {@link SensitivityScenarios} qui représente l'ensemble des
+ * scenarios à prendre en compte pour les simulations.
+ *
+ * @param plan plan a analyser
+ * @param outputdirectory master sensitivity export directory
+ *
+ * @return un {@link SensitivityScenarios}
+ * @throws SensitivityException if calculator impl fail to execute
+ *
+ * @see DesignPlan
+ * @see Scenario
+ * @see SensitivityScenarios
+ */
+ public SensitivityScenarios compute(DesignPlan plan, File outputdirectory)
+ throws SensitivityException {
if (log.isDebugEnabled()) {
log.info("Call random mock compute()");
@@ -90,8 +117,21 @@
}
+ /**
+ * Permet de renvoyer les resultats de simulations à l'outils de d'analyse
+ * de sensibilité.
+ *
+ * @param simulationStorages
+ * ensemble des {@link SimulationStorage} qui ont résultés des
+ * simulations
+ * @param outputdirectory master sensitivity export directory
+ * @throws SensitivityException
+ * if calculator impl fail to execute
+ *
+ * @see SensitivityScenarios
+ */
public void analyzeResult(List<SimulationStorage> simulationStorages,
- File outputdirectory) {
+ File outputdirectory) throws SensitivityException {
}
1
0
r1976 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/simulator resources/i18n
by sletellier@users.labs.libre-entreprise.org 16 Mar '09
by sletellier@users.labs.libre-entreprise.org 16 Mar '09
16 Mar '09
Author: sletellier
Date: 2009-03-16 16:12:33 +0000 (Mon, 16 Mar 2009)
New Revision: 1976
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.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/simulator/SimulAction.java
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:
Some bugs fixed
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.jaxx 2009-03-16 15:51:48 UTC (rev 1975)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.jaxx 2009-03-16 16:12:33 UTC (rev 1976)
@@ -64,7 +64,6 @@
continueMax.setVisible(isContinuePossible());
continueMin.setVisible(isContinuePossible());
- increment.setText(String.valueOf(inc));
continueMaxPanel.add(continueMax, BorderLayout.CENTER);
continueMinPanel.add(continueMin, BorderLayout.CENTER);
}
@@ -74,9 +73,6 @@
public String getMax(){
return continueMax.getText();
}
-public String getInc(){
- return increment.getText();
-}
]]>
</script>
<Table id='content' constraints='BorderLayout.CENTER'>
@@ -94,13 +90,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>
</Table>
</ContinuousPanelContainer>
\ No newline at end of file
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-16 15:51:48 UTC (rev 1975)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-16 16:12:33 UTC (rev 1976)
@@ -362,10 +362,8 @@
}
public static boolean canBeContinue(JComponent c, Object o){
if (c instanceof JTextComponent) {
- if (Integer.class.isInstance(o)){
+ if (Double.class.isInstance(o)){
return true;
- } else if (Double.class.isInstance(o)){
- return true;
} else if (Long.class.isInstance(o)){
return true;
}
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-16 15:51:48 UTC (rev 1975)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-16 16:12:33 UTC (rev 1976)
@@ -38,11 +38,11 @@
defaultPanel = matrixPanel.getDefaultContinuousPanel();
MatrixND matrix = matrixPanel.getMatrix();
String operateur = (String)matrixPanel.getOperator().getSelectedItem();
- action.addContinuousMatrixFactor(name, path, getMin(defaultPanel), getMax(defaultPanel), getInc(defaultPanel), matrix, operateur, cOrigine, exist);
+ action.addContinuousMatrixFactor(name, path, getMin(defaultPanel), getMax(defaultPanel), matrix, operateur, cOrigine, exist);
}else if (DefaultContinuousPanel.class.isInstance(panel)){
defaultPanel = (DefaultContinuousPanel)panel;
- action.addContinuousFactor(name, path, getMin(defaultPanel), getMax(defaultPanel), getInc(defaultPanel), cOrigine, exist);
+ action.addContinuousFactor(name, path, getMin(defaultPanel), getMax(defaultPanel), cOrigine, exist);
}
}
protected static Serializable getMin(DefaultContinuousPanel defaultPanel){
@@ -51,9 +51,6 @@
protected static Serializable getMax(DefaultContinuousPanel defaultPanel){
return (Serializable)Double.parseDouble(defaultPanel.getMax());
}
- protected static int getInc(DefaultContinuousPanel defaultPanel){
- return Integer.parseInt(defaultPanel.getInc());
- }
public static void saveDiscret(JComponent cOrigine, String name, String path, List<JComponent> components, SimulAction action, boolean exist){
List<Serializable> values = new ArrayList<Serializable>();
for(JComponent c: components){
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-03-16 15:51:48 UTC (rev 1975)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-16 16:12:33 UTC (rev 1976)
@@ -675,12 +675,11 @@
public Factor<? extends Serializable> getFactor(String name){
return factors.get(name);
}
- public void addContinuousFactor(String name, String path, Serializable min, Serializable max, int inc, JComponent c, boolean exist){
+ public void addContinuousFactor(String name, String path, Serializable min, Serializable max, JComponent c, boolean exist){
Factor f = new Factor(name);
ContinuousDomain<Serializable> domain = new ContinuousDomain<Serializable>();
domain.setMinBound(min);
domain.setMaxBound(max);
- domain.setCardinality(inc);
f.setDomain(domain);
f.setPath(path);
if (exist)
@@ -704,12 +703,11 @@
removeFactor(path);
addFactor(path, f, c);
}
- public void addContinuousMatrixFactor(String name, String path, Serializable min, Serializable max, int inc, MatrixND matrix, String operateur, JComponent c, boolean exist){
+ public void addContinuousMatrixFactor(String name, String path, Serializable min, Serializable max, MatrixND matrix, String operateur, JComponent c, boolean exist){
Factor f = new Factor(name);
MatrixContinuousDomain<Serializable> domain = new MatrixContinuousDomain<Serializable>();
domain.setMatrix(matrix);
domain.setOperator(operateur);
- domain.setCardinality(inc);
domain.setMaxBound(max);
domain.setMinBound(min);
f.setDomain(domain);
@@ -718,12 +716,11 @@
removeFactor(path);
addFactor(path, f, c);
}
- public void addContinuousEquationFactor(String name, String path, String varName, Serializable min, Serializable max, int inc, MatrixND matrix, String operateur, JComponent c, boolean exist){
+ public void addContinuousEquationFactor(String name, String path, String varName, Serializable min, Serializable max, MatrixND matrix, String operateur, JComponent c, boolean exist){
Factor f = new Factor(name);
EquationContinuousDomain<Serializable> domain = new EquationContinuousDomain<Serializable>();
domain.setVariableName(varName);
domain.setOperator(operateur);
- domain.setCardinality(inc);
domain.setMaxBound(max);
domain.setMinBound(min);
f.setDomain(domain);
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-16 15:51:48 UTC (rev 1975)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-16 16:12:33 UTC (rev 1976)
@@ -356,9 +356,9 @@
isisfish.factor.discret=Discret factor
isisfish.factor.firstValue=First value
isisfish.factor.increment=Cardinality
-isisfish.factor.operateur=Operator
isisfish.factor.lastValue=Last value
isisfish.factor.name=Factor name
+isisfish.factor.operateur=Operator
isisfish.factor.selectDiscretNumber=Number of factors
isisfish.factor.title=Factor input
isisfish.factor.validDiscretNumber=Ok
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-16 15:51:48 UTC (rev 1975)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-16 16:12:33 UTC (rev 1976)
@@ -352,13 +352,13 @@
isisfish.export.saved=Exports des r\u00E9sultats sauvegard\u00E9s
isisfish.export.title=Export des r\u00E9sultats
isisfish.factor.comment=Commentaires
-isisfish.factor.continue=Facteur continue
+isisfish.factor.continue=Facteur continu
isisfish.factor.discret=Facteur discret
isisfish.factor.firstValue=Premi\u00E8re valeur
-isisfish.factor.increment=Cardinalit\u00E9e
+isisfish.factor.increment=Cardinalit\u00E9
+isisfish.factor.lastValue=Derni\u00E8re valeur
+isisfish.factor.name=Nom du facteur
isisfish.factor.operateur=Op\u00E9rateur
-isisfish.factor.lastValue=Derin\u00E8re valeur
-isisfish.factor.name=Nom du facteur
isisfish.factor.selectDiscretNumber=Nombre de facteurs
isisfish.factor.title=Saisie d'un facteur
isisfish.factor.validDiscretNumber=Valider
@@ -859,7 +859,7 @@
isisfish.sensWizardPanels.values=Valeurs
isisfish.sensibilityWizard.title=Sensibility Wizard
isisfish.sensitivity.title=S\u00E9lection des facteurs
-isisfish.sensitivityChooser.title=Param\u00E8tres de la sensibilit\u00E9
+isisfish.sensitivityChooser.title=M\u00E9thode de la sensibilit\u00E9
isisfish.server.ssh.generateKey.title=G\u00E9n\u00E9rer une cl\u00E9 SSH
isisfish.setOfVessels.comments=Commentaires
isisfish.setOfVessels.fixedCosts=Co\u00FBts fixes
1
0
r1975 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/simulator resources/i18n
by sletellier@users.labs.libre-entreprise.org 16 Mar '09
by sletellier@users.labs.libre-entreprise.org 16 Mar '09
16 Mar '09
Author: sletellier
Date: 2009-03-16 15:51:48 +0000 (Mon, 16 Mar 2009)
New Revision: 1975
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/ContinuousPanelContainer.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanel.jaxx
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/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/simulator/SimulAction.java
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:
Matrix continue enabled
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/ContinuousPanelContainer.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/ContinuousPanelContainer.jaxx (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/ContinuousPanelContainer.jaxx 2009-03-16 15:51:48 UTC (rev 1975)
@@ -0,0 +1,41 @@
+<!--
+/* *##%
+ * Copyright (C) 2005
+ * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin
+ *
+ * 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.
+ *##%*/
+
+/* *
+ * IsisFish.java
+ *
+ * Created: 1 aout 2005 18:37:25 CEST
+ *
+ * @author Benjamin POUSSIN <poussin at codelutin.com>
+ * @version $Revision: 1312 $
+ *
+ * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $
+ * by : $Author: sletellier $
+ */
+ -->
+<JPanel id='continuousPanelContainer' layout='{new BorderLayout()}'>
+
+ <Boolean id='continuePossible' javaBean='true'/>
+
+ <Boolean id='continueSelected' javaBean='false'/>
+
+ <JPanel id='content' constraints='BorderLayout.CENTER'/>
+
+</JPanel>
\ No newline at end of file
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.jaxx (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanel.jaxx 2009-03-16 15:51:48 UTC (rev 1975)
@@ -0,0 +1,106 @@
+<!--
+/* *##%
+ * Copyright (C) 2005
+ * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin
+ *
+ * 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.
+ *##%*/
+
+/* *
+ * IsisFish.java
+ *
+ * Created: 1 aout 2005 18:37:25 CEST
+ *
+ * @author Benjamin POUSSIN <poussin at codelutin.com>
+ * @version $Revision: 1312 $
+ *
+ * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $
+ * by : $Author: sletellier $
+ */
+ -->
+<ContinuousPanelContainer>
+ <script><![CDATA[
+
+protected JTextField continueMax = null;
+protected JTextField continueMin = null;
+
+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 init(JTextField cMax, JTextField cMin, int inc){
+ continueMax = cMax;
+ continueMin = cMin;
+ continueMax.setEnabled(isContinueSelected());
+ continueMin.setEnabled(isContinueSelected());
+ continueMax.setVisible(isContinuePossible());
+ continueMin.setVisible(isContinuePossible());
+
+ increment.setText(String.valueOf(inc));
+ continueMaxPanel.add(continueMax, BorderLayout.CENTER);
+ continueMinPanel.add(continueMin, BorderLayout.CENTER);
+}
+public String getMin(){
+ return continueMin.getText();
+}
+public String getMax(){
+ return continueMax.getText();
+}
+public String getInc(){
+ return increment.getText();
+}
+ ]]>
+ </script>
+ <Table id='content' constraints='BorderLayout.CENTER'>
+ <row>
+ <cell fill='horizontal'>
+ <JLabel text='isisfish.factor.firstValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.5'>
+ <JPanel id='continueMinPanel' layout='{new BorderLayout()}'/>
+ </cell>
+ <cell fill='horizontal'>
+ <JLabel text='isisfish.factor.lastValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ <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>
+ </Table>
+</ContinuousPanelContainer>
\ No newline at end of file
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-16 14:42:04 UTC (rev 1974)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-16 15:51:48 UTC (rev 1975)
@@ -19,6 +19,8 @@
package fr.ifremer.isisfish.ui.sensitivity;
import fr.ifremer.isisfish.entities.Formule;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain;
import fr.ifremer.isisfish.types.Month;
import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputOneEquationUI;
@@ -43,6 +45,7 @@
import org.codelutin.math.matrix.gui.MatrixPanelEditor;
import org.codelutin.topia.persistence.TopiaEntity;
import fr.ifremer.isisfish.ui.input.RangeOfValuesUI;
+import javax.swing.JPanel;
/**
*
@@ -62,12 +65,17 @@
if (result instanceof JTextField) {
((JTextComponent) result).setText(String.valueOf(callMethod(e, fieldName)));
+ } else if (result instanceof MatrixPanelEditor){
+ MatrixPanelEditor ui = (MatrixPanelEditor) c;
+ MatrixPanelEditor matrix = new MatrixPanelEditor();
+ matrix.setMatrix((MatrixND)callMethod(e, fieldName));
+ matrix.setLinearModel(ui.isLinearModel());
+ matrix.setLinearModelShowDefault(ui.isLinearModelShowDefault());
+ result = matrix;
+
} else if (result instanceof JTable){
((JTable) result).setModel(((JTable)c).getModel());
- } else if (result instanceof MatrixPanelEditor){
- ((MatrixPanelEditor) result).setMatrix((MatrixND)callMethod(e, fieldName));
-
} else if (result instanceof JComboBox){
JComboBox combo = (JComboBox)c;
JComboBox comboResult = new JComboBox();
@@ -142,7 +150,79 @@
}
return result;
}
-
+ public static ContinuousPanelContainer getContinuousPanel(JComponent c, TopiaEntity e){
+ ContinuousPanelContainer result = null;
+ try {
+ String fieldName = getMethod(c);
+ DefaultContinuousPanel continuousPanel = null;
+ if (c 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.setMethodGet(origine.getMethodGet());
+ ui.setMethodSet(origine.getMethodSet());
+ ui.setBean(e);
+ ui.setActif(true);
+ ui.refresh();
+// result = ui;
+ } else if (c instanceof MatrixPanelEditor){
+ MatrixContinuousPanel matrixPanel = new MatrixContinuousPanel();
+ matrixPanel.setMatrix((MatrixND)callMethod(e, fieldName));
+ continuousPanel = matrixPanel.getDefaultContinuousPanel();
+ result = matrixPanel;
+ } else {
+ continuousPanel = new DefaultContinuousPanel();
+ result = continuousPanel;
+ }
+ continuousPanel.init(getNewBoundEditor(c, e), getNewBoundEditor(c, e), 0);
+ } catch (Exception ex) {
+ Logger.getLogger(EditorHelper.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ return result;
+ }
+ public static JTextField getNewBoundEditor(JComponent c, TopiaEntity e) {
+ String fieldName = getMethod(c);
+ Object value = callMethod(e, fieldName);
+ if (JTextComponent.class.isInstance(c)){
+ return new JTextField(String.valueOf(value));
+ }
+ return new JTextField();
+ }
+ public static ContinuousPanelContainer getContinuousPanelWithValue(JComponent c, ContinuousDomain domain) {
+ ContinuousPanelContainer result = null;
+ try {
+ DefaultContinuousPanel continuousPanel = null;
+ if (c 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.setMethodGet(origine.getMethodGet());
+ ui.setMethodSet(origine.getMethodSet());
+// ui.setBean(e);
+ ui.setActif(true);
+ ui.refresh();
+// result = ui;
+ } else if (c instanceof MatrixPanelEditor){
+ MatrixContinuousPanel panel = new MatrixContinuousPanel();
+ MatrixContinuousDomain matrixDomain = (MatrixContinuousDomain)domain;
+ panel.setMatrix(matrixDomain.getMatrix());
+ continuousPanel = panel.getDefaultContinuousPanel();
+ panel.getOperator().setSelectedItem(matrixDomain.getOperator());
+ result = panel;
+ } else {
+ continuousPanel = new DefaultContinuousPanel();
+ result = continuousPanel;
+ }
+ continuousPanel.init(new JTextField(String.valueOf(domain.getMinBound())), new JTextField(String.valueOf(domain.getMaxBound())), domain.getCardinality());
+ } catch (Exception ex) {
+ Logger.getLogger(EditorHelper.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ return result;
+ }
public static JComponent getEditorWithValue(JComponent c, Object value) {
JComponent result = null;
try {
@@ -155,8 +235,12 @@
// ((JTable) result).setModel(((JTable)c).getModel());
} else if (result instanceof MatrixPanelEditor){
- ((MatrixPanelEditor) result).setMatrix((MatrixND)value);
-
+ MatrixPanelEditor ui = (MatrixPanelEditor) c;
+ MatrixPanelEditor matrix = new MatrixPanelEditor();
+ matrix.setMatrix((MatrixND)value);
+ matrix.setLinearModel(ui.isLinearModel());
+ matrix.setLinearModelShowDefault(ui.isLinearModelShowDefault());
+ result = ui;
} else if (result instanceof JComboBox){
JComboBox combo = (JComboBox)c;
JComboBox comboResult = new JComboBox();
@@ -269,7 +353,11 @@
if (c instanceof JTextComponent) {
Object o = callMethod(e, fieldName);
return canBeContinue(c, o);
- }
+ } else if (c instanceof InputOneEquationUI){
+ return true;
+ } else if (c instanceof MatrixPanelEditor){
+ return true;
+ }
return false;
}
public static boolean canBeContinue(JComponent c, Object o){
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-16 14:42:04 UTC (rev 1974)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-16 15:51:48 UTC (rev 1975)
@@ -23,22 +23,43 @@
import java.util.ArrayList;
import java.util.List;
import javax.swing.JComponent;
+import javax.swing.text.JTextComponent;
+import org.codelutin.math.matrix.MatrixND;
/**
*
* @author letellier
*/
public class FactorAction {
- public static void saveContinue(JComponent cOrigine, String name, String path, JComponent min, JComponent max, String increment, SimulAction action, boolean exist){
- Serializable oMin = (Serializable)EditorHelper.getValue(min);
- Serializable oMax = (Serializable)EditorHelper.getValue(max);
- action.addContinueFactors(name, path, oMin, oMax, Integer.parseInt(increment), cOrigine, exist);
+ public static void saveContinue(JComponent cOrigine, String name, String path, ContinuousPanelContainer panel, SimulAction action, boolean exist){
+ DefaultContinuousPanel defaultPanel = null;
+ if (MatrixContinuousPanel.class.isInstance(panel)){
+ MatrixContinuousPanel matrixPanel = (MatrixContinuousPanel)panel;
+ defaultPanel = matrixPanel.getDefaultContinuousPanel();
+ MatrixND matrix = matrixPanel.getMatrix();
+ String operateur = (String)matrixPanel.getOperator().getSelectedItem();
+ action.addContinuousMatrixFactor(name, path, getMin(defaultPanel), getMax(defaultPanel), getInc(defaultPanel), matrix, operateur, cOrigine, exist);
+
+ }else if (DefaultContinuousPanel.class.isInstance(panel)){
+ defaultPanel = (DefaultContinuousPanel)panel;
+ action.addContinuousFactor(name, path, getMin(defaultPanel), getMax(defaultPanel), getInc(defaultPanel), cOrigine, exist);
+ }
}
+ protected static Serializable getMin(DefaultContinuousPanel defaultPanel){
+ return (Serializable)Double.parseDouble(defaultPanel.getMin());
+ }
+ protected static Serializable getMax(DefaultContinuousPanel defaultPanel){
+ return (Serializable)Double.parseDouble(defaultPanel.getMax());
+ }
+ protected static int getInc(DefaultContinuousPanel defaultPanel){
+ return Integer.parseInt(defaultPanel.getInc());
+ }
public static void saveDiscret(JComponent cOrigine, String name, String path, List<JComponent> components, SimulAction action, boolean exist){
List<Serializable> values = new ArrayList<Serializable>();
for(JComponent c: components){
values.add((Serializable)EditorHelper.getValue(c));
}
- action.addDiscreteFactors(name, path, values, cOrigine, exist);
+ action.addDiscreteFactor(name, path, values, cOrigine, exist);
}
}
+;
\ No newline at end of file
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-16 14:42:04 UTC (rev 1974)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-16 15:51:48 UTC (rev 1975)
@@ -53,18 +53,17 @@
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> discretComponents = new ArrayList<JComponent>();
protected String path = null;
-
+protected ContinuousPanelContainer continuousPanel = null;
addPropertyChangeListener("continuePossible", new PropertyChangeListener(){
@Override
public void propertyChange(PropertyChangeEvent evt) {
- continueMax.setVisible((Boolean)evt.getNewValue());
- continueMin.setVisible((Boolean)evt.getNewValue());
+ if (continuousPanel != null){
+ continuousPanel.setContinuePossible((Boolean)evt.getNewValue());
+ }
}
});
@@ -73,19 +72,17 @@
@Override
public void propertyChange(PropertyChangeEvent evt) {
- continueMax.setEnabled((Boolean)evt.getNewValue());
- continueMin.setEnabled((Boolean)evt.getNewValue());
+ if (continuousPanel != null){
+ continuousPanel.setContinueSelected((Boolean)evt.getNewValue());
+ }
}
});
-public void initNew(JComponent c, TopiaEntity bean, Boolean b){
- this.bean = bean;
+public void initNew(JComponent c, TopiaEntity be, Boolean b){
+ this.bean = be;
this.cOrigine = c;
- continueMax = getNewComponent();
- continueMin = getNewComponent();
-
// path is topiaId#property
// ex : fwn#fsd#0.3425345#name
// for JAXX : cOrigine start with upper case
@@ -93,9 +90,13 @@
String methodName = StringUtils.uncapitalize(EditorHelper.getMethod(cOrigine));
this.path = bean.getTopiaId() + "#" + methodName;
- factorName.setText(bean.toString() + "." + EditorHelper.getMethod(cOrigine));
+ factorName.setText(bean.toString() + "." + methodName);
setContinuePossible(b);
- init();
+ if (isContinuePossible()){
+ continuousPanel = EditorHelper.getContinuousPanel(cOrigine, bean);
+ init();
+ }
+ setSaveEnabled(!factorName.getText().equals(""));
}
public void initExisting(JComponent cOrigine, Factor f){
@@ -107,16 +108,15 @@
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()));
+
+ continuousPanel = EditorHelper.getContinuousPanelWithValue(cOrigine, cDomain);
+ init();
+
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 + "");
@@ -135,21 +135,16 @@
tabPane.add(c, "Factor " + (i+1));
}
setContinuePossible(EditorHelper.canBeContinue(cOrigine, cache));
+
setTabVisible(true);
this.pack();
}
- init();
+ setSaveEnabled(!factorName.getText().equals(""));
}
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(""));
+ continuousPanelContainer.add(continuousPanel, BorderLayout.CENTER);
+ setTabVisible(true);
+ this.pack();
}
protected JComponent getNewComponent(){
return EditorHelper.getEditor(cOrigine, bean);
@@ -174,7 +169,7 @@
}
protected void save(){
if (continueRadion.isSelected()){
- getFactorAction().saveContinue(cOrigine, factorName.getText(), path, continueMin, continueMax, increment.getText(), getSimulAction(), isExistingValue());
+ getFactorAction().saveContinue(cOrigine, factorName.getText(), path, continuousPanel, getSimulAction(), isExistingValue());
} else {
getFactorAction().saveDiscret(cOrigine, factorName.getText(), path, discretComponents, getSimulAction(), isExistingValue());
}
@@ -203,28 +198,11 @@
</cell>
</row>
<row>
- <cell fill='horizontal'>
- <JLabel text='isisfish.factor.firstValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ <cell fill='both' columns='4' weightx='1' weighty='0.5'>
+ <JPanel id='continuousPanelContainer' layout='{new BorderLayout()}'/>
</cell>
- <cell fill='horizontal' weightx='0.5'>
- <JPanel id='continueMinPanel' layout='{new BorderLayout()}'/>
- </cell>
- <cell fill='horizontal'>
- <JLabel text='isisfish.factor.lastValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
- </cell>
- <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>
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanel.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanel.jaxx (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanel.jaxx 2009-03-16 15:51:48 UTC (rev 1975)
@@ -0,0 +1,74 @@
+<!--
+/* *##%
+ * Copyright (C) 2005
+ * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin
+ *
+ * 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.
+ *##%*/
+
+/* *
+ * IsisFish.java
+ *
+ * Created: 1 aout 2005 18:37:25 CEST
+ *
+ * @author Benjamin POUSSIN <poussin at codelutin.com>
+ * @version $Revision: 1312 $
+ *
+ * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $
+ * by : $Author: sletellier $
+ */
+ -->
+<ContinuousPanelContainer>
+
+ <org.codelutin.math.matrix.MatrixND id='matrix' javaBean='null'/>
+
+ <script><![CDATA[
+import org.codelutin.math.matrix.MatrixND;
+import org.codelutin.math.matrix.gui.MatrixPanelEditor;
+
+
+ ]]>
+ </script>
+ <Table id='content' constraints='BorderLayout.CENTER'>
+ <row>
+ <cell fill='both' columns='2' weightx='1' weighty='1'>
+ <DefaultContinuousPanel id='defaultContinuousPanel' continuePossible='{isContinuePossible()}' continueSelected='{isContinueSelected()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal'>
+ <JLabel text='isisfish.factor.value' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ <cell fill='both' weightx='1' weighty='1'>
+ <JScrollPane>
+ <MatrixPanelEditor id='componentPanel' matrix='{getMatrix()}'/>
+ </JScrollPane>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal'>
+ <JLabel text='isisfish.factor.operateur' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='1' columns='3'>
+ <JComboBox id='operator' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'>
+ <item id='plus' value="+"/>
+ <item id='moins' value="-"/>
+ <item id='mult' value="*"/>
+ <item id='div' value="/"/>
+ </JComboBox>
+ </cell>
+ </row>
+ </Table>
+</ContinuousPanelContainer>
\ No newline at end of file
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-16 14:42:04 UTC (rev 1974)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-03-16 15:51:48 UTC (rev 1975)
@@ -100,13 +100,15 @@
}
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().getFactorComponent(f.getPath()), f);
- wizard.pack();
- wizard.setVisible(true);
+ if (node != null){
+ Object o = node.getUserObject();
+ if (Factor.class.isInstance(o)){
+ Factor f = (Factor)o;
+ FactorWizard wizard = new FactorWizard(this);
+ wizard.initExisting(getSimulAction().getFactorComponent(f.getPath()), f);
+ wizard.pack();
+ wizard.setVisible(true);
+ }
}
}
public void setTreeModel(){
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-03-16 14:42:04 UTC (rev 1974)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-16 15:51:48 UTC (rev 1975)
@@ -70,6 +70,8 @@
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain;
import fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil;
import fr.ifremer.isisfish.ui.widget.ErrorDialogUI;
import fr.ifremer.isisfish.ui.widget.filter.FilterModel;
@@ -673,7 +675,7 @@
public Factor<? extends Serializable> getFactor(String name){
return factors.get(name);
}
- public void addContinueFactors(String name, String path, Serializable min, Serializable max, int inc, JComponent c, boolean exist){
+ public void addContinuousFactor(String name, String path, Serializable min, Serializable max, int inc, JComponent c, boolean exist){
Factor f = new Factor(name);
ContinuousDomain<Serializable> domain = new ContinuousDomain<Serializable>();
domain.setMinBound(min);
@@ -685,7 +687,7 @@
removeFactor(path);
addFactor(path, f, c);
}
- public void addDiscreteFactors(String name, String path, List<Serializable> values, JComponent c, boolean exist){
+ public void addDiscreteFactor(String name, String path, List<Serializable> values, JComponent c, boolean exist){
Factor f = new Factor(name);
DiscreteDomain<Serializable> domain = new DiscreteDomain<Serializable>();
int i = 0;
@@ -702,6 +704,34 @@
removeFactor(path);
addFactor(path, f, c);
}
+ public void addContinuousMatrixFactor(String name, String path, Serializable min, Serializable max, int inc, MatrixND matrix, String operateur, JComponent c, boolean exist){
+ Factor f = new Factor(name);
+ MatrixContinuousDomain<Serializable> domain = new MatrixContinuousDomain<Serializable>();
+ domain.setMatrix(matrix);
+ domain.setOperator(operateur);
+ domain.setCardinality(inc);
+ domain.setMaxBound(max);
+ domain.setMinBound(min);
+ f.setDomain(domain);
+ f.setPath(path);
+ if (exist)
+ removeFactor(path);
+ addFactor(path, f, c);
+ }
+ public void addContinuousEquationFactor(String name, String path, String varName, Serializable min, Serializable max, int inc, MatrixND matrix, String operateur, JComponent c, boolean exist){
+ Factor f = new Factor(name);
+ EquationContinuousDomain<Serializable> domain = new EquationContinuousDomain<Serializable>();
+ domain.setVariableName(varName);
+ domain.setOperator(operateur);
+ domain.setCardinality(inc);
+ domain.setMaxBound(max);
+ domain.setMinBound(min);
+ f.setDomain(domain);
+ f.setPath(path);
+ if (exist)
+ removeFactor(path);
+ addFactor(path, f, c);
+ }
public JComponent getFactorComponent(String path){
return factorComponent.get(path);
}
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-16 14:42:04 UTC (rev 1974)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-16 15:51:48 UTC (rev 1975)
@@ -356,11 +356,13 @@
isisfish.factor.discret=Discret factor
isisfish.factor.firstValue=First value
isisfish.factor.increment=Cardinality
+isisfish.factor.operateur=Operator
isisfish.factor.lastValue=Last value
isisfish.factor.name=Factor name
isisfish.factor.selectDiscretNumber=Number of factors
isisfish.factor.title=Factor input
isisfish.factor.validDiscretNumber=Ok
+isisfish.factor.value=Value
isisfish.filter=Filter
isisfish.filter.apply=Apply filter
isisfish.filter.cancel=Cancel
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-16 14:42:04 UTC (rev 1974)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-16 15:51:48 UTC (rev 1975)
@@ -356,11 +356,13 @@
isisfish.factor.discret=Facteur discret
isisfish.factor.firstValue=Premi\u00E8re valeur
isisfish.factor.increment=Cardinalit\u00E9e
+isisfish.factor.operateur=Op\u00E9rateur
isisfish.factor.lastValue=Derin\u00E8re valeur
isisfish.factor.name=Nom du facteur
isisfish.factor.selectDiscretNumber=Nombre de facteurs
isisfish.factor.title=Saisie d'un facteur
isisfish.factor.validDiscretNumber=Valider
+isisfish.factor.value=Valeur
isisfish.filter=Filtrer
isisfish.filter.apply=Appliquer le filtre
isisfish.filter.cancel=Annuler
1
0