From chatellier@users.labs.libre-entreprise.org Mon Jun 15 00:26:12 2026
From: chatellier@users.labs.libre-entreprise.org
To: isis-fish-commits@list.isis-fish.org
Subject: [Isis-fish-commits] r2365 - in
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator: . rule
Date: Wed, 10 Jun 2009 17:24:16 +0200
Message-ID: <20090610152416.CB0FB461BF7@labs.libre-entreprise.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============3560954611474270498=="
--===============3560954611474270498==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Author: chatellier
Date: 2009-06-10 15:24:16 +0000 (Wed, 10 Jun 2009)
New Revision: 2365
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleCo=
mboBoxModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleLi=
stCellRenderer.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.ja=
xx
Log:
Refactor rules combo and list models
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/Para=
msUI.jaxx
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.j=
axx 2009-06-10 15:23:24 UTC (rev 2364)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.j=
axx 2009-06-10 15:24:16 UTC (rev 2365)
@@ -1,7 +1,6 @@
-=20
+ *##%*/
+-->
@@ -30,24 +29,15 @@
import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher;
import fr.ifremer.isisfish.entities.Strategy;
import fr.ifremer.isisfish.entities.Population;
-import javax.swing.table.DefaultTableModel;
import java.text.ParseException;
-import java.awt.event.ItemEvent;
-import javax.swing.table.TableModel;
-import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
-import fr.ifremer.isisfish.ui.widget.editor.ParameterColumnEditor;
-import fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor;
-import javax.swing.text.JTextComponent;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
import fr.ifremer.isisfish.simulator.launcher.SimulationService;
import fr.ifremer.isisfish.simulator.launcher.SimulationJob;
import fr.ifremer.isisfish.ui.sensitivity.SensitivityUI;
import fr.ifremer.isisfish.entities.FisheryRegionImpl;
import fr.ifremer.isisfish.datastore.StorageException;
-import fr.ifremer.isisfish.ui.widget.renderer.SimpleToolTipTableColumnRender=
er;
-import fr.ifremer.isisfish.ui.widget.renderer.SimpleToolTipComboBoxRenderer;
import fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener;
+import fr.ifremer.isisfish.ui.simulator.rule.RuleComboBoxModel;
+import fr.ifremer.isisfish.ui.simulator.rule.RuleListCellRenderer;
import fr.ifremer.isisfish.ui.simulator.rule.RuleListModel;
import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableModel;
import fr.ifremer.isisfish.ui.simulator.rule.RuleParametersTableCellEditor;
@@ -99,26 +89,28 @@
setListSimulParamsPopulationsItems();
setRulesListModel();
}
-protected void regionChange(ItemEvent e) {
- if (e.getStateChange() =3D=3D ItemEvent.SELECTED) {
- // le premier item est " " pour ne pas avoir de selection par defaut
- final String selected =3D fieldSimulParamsRegion.getSelectedItem().t=
oString();
- if (log.isDebugEnabled()) {
- log.debug(" selected " + selected);
- }
- if(selected !=3D null && !selected.trim().isEmpty()) {
- getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish=
.message.loading.region"));
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- simulAction.regionChange(selected);
- refresh();
- setFactorRegion();
- getParentContainer(WelcomePanelUI.class).setInfoText(_("=
isisfish.message.region.loaded"));
- }
- });
- }
+
+/**
+ * Called on user region selection change.
+ */
+protected void regionChange() {
+ // le premier item est " " pour ne pas avoir de selection par defaut
+ final String selected =3D fieldSimulParamsRegion.getSelectedItem().toStr=
ing();
+ if (log.isDebugEnabled()) {
+ log.debug(" selected " + selected);
}
+ if(selected !=3D null && !selected.trim().isEmpty()) {
+ getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish.mes=
sage.loading.region"));
+ SwingUtilities.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ simulAction.regionChange(selected);
+ refresh();
+ setFactorRegion();
+ getParentContainer(WelcomePanelUI.class).setInfoText(_("isis=
fish.message.region.loaded"));
+ }
+ });
+ }
}
protected void setPreScript() {
if (!isSensitivity()){
@@ -140,7 +132,7 @@
}
}
protected void setFactor() {
- if (isSensitivity()){
+ if (isSensitivity()) {
getParentContainer(SensitivityUI.class).getSensitivityTabUI().setFac=
torModel();
}
}
@@ -160,9 +152,9 @@
protected void loadOldSimulation() {
final String selected =3D fieldSimulParamsSelect.getSelectedItem().toStr=
ing();
// le premier item est " " pour ne pas avoir de selection par defaut
- if (selected !=3D null && !selected.equals(" ")){
+ if (selected !=3D null && !selected.equals(" ")) {
getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish.mes=
sage.loading.old.simulation"));
- SwingUtilities.invokeLater(new Runnable() {
+ SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
simulAction.loadOldSimulation(selected);
@@ -180,14 +172,20 @@
});
}
}
-protected void simul() {
+protected void launchSimulation() {
if (!isSensitivity()) {
simulAction.launchSimulation(fieldSimulParamsName.getText(), (Simula=
torLauncher)comboSelLauncher.getSelectedItem());
}
else{
simulAction.launchSimulationWhithSensibility(fieldSimulParamsName.ge=
tText(), (SimulatorLauncher)comboSelLauncher.getSelectedItem());
}
- getParentContainer(WelcomeTabUI.class).selTab(5);
+ =20
+ // dans le cas d'une fenetre independante, il n'y a pas de ParentContain=
er
+ WelcomeTabUI parent =3D getParentContainer(WelcomeTabUI.class);
+ if (parent !=3D null) {
+ // 5 =3D queue simulation tab
+ parent.selTab(5);
+ }
}
protected void enablePreSimul() {
simulAction.getSimulationParameter().setUsePreScript(fieldUseSimulPreScr=
ipts.isSelected());
@@ -259,7 +257,7 @@
}
}
protected void populationSelected(){
- if (listSimulParamsPopulations.getSelectedIndex() !=3D -1){
+ if (listSimulParamsPopulations.getSelectedIndex() !=3D -1) {
simulAction.setPopulations(listSimulParamsPopulations.getSelectedVal=
ues());
simulParamsNumbers.setMatrix(simulAction.getSimulationParameter().ge=
tNumberOf((Population) listSimulParamsPopulations.getSelectedValue()));
}
@@ -271,12 +269,25 @@
simulAction.getSimulationParameter().setDescription(fieldSimulParamsDesc=
.getText());
}
=20
+/*protected ComboBoxModel getParamsMesuresSelectModel() {
+ java.util.List availableRules =3D simulAction.getAvailableRules();
+ RuleComboBoxModel model =3D new RuleComboBoxModel(availableRules);
+ =20
+ // TODO change place (but must be same rule list)
+ fieldSimulParamsMesuresSelect.setRenderer(model);
+
+ return model;
+}*/
+
protected void setRulesListModel() {
- RuleListModel model =3D new RuleListModel(simulAction.getRules());
- listSimulParamsMesuresList.setModel(model);
- listSimulParamsMesuresList.setCellRenderer(model);
+ if (log.isDebugEnabled()) {
+ log.debug("Set simulation rules model");
+ }
+ RuleListModel model =3D new RuleListModel(simulAction.getRules());
+ listSimulParamsMesuresList.setModel(model);
+ listSimulParamsMesuresList.setCellRenderer(model);
=20
- onRuleSelectionChange();
+ onRuleSelectionChange();
}
/**
* Called when selection change on rule list.
@@ -308,8 +319,8 @@
}
}
protected void addRules() {
- String selectedRuleName =3D fieldSimulParamsMesuresSelect.getSelectedIte=
m().toString();
- simulAction.addRules(selectedRuleName);
+ Rule selectedRule =3D (Rule)fieldSimulParamsMesuresSelect.getSelectedIte=
m();
+ simulAction.addNewRule(selectedRule);
setRulesListModel();
}
protected void removeRules() {
@@ -345,7 +356,7 @@
protected ComboBoxModel getSimulParamsSelectModel(boolean force) {
java.util.List items =3D simulAction.getFilteredOldSimulatorName=
s(force);
DefaultComboBoxModel result =3D new DefaultComboBoxModel();
- if (items !=3D null){
+ if (items !=3D null) {
for (String s : items){
result.addElement(s);
}
@@ -353,13 +364,6 @@
return result;
}
=20
-protected ComboBoxModel getParamsMesuresSelectModel() {
- java.util.List rulesNames =3D simulAction.getAvailableRuleNames(=
);
- DefaultComboBoxModel model =3D new DefaultComboBoxModel(rulesNames.toArr=
ay());
- fieldSimulParamsMesuresSelect.setRenderer(new SimpleToolTipComboBoxRende=
rer(ToolTipListModelFactory.createRuleDescriptionsModel(rulesNames)));
- return model;
-}
-
protected void resetFilter(){
simulAction.resetOldSimulatorNames();
}
@@ -394,7 +398,7 @@
|
-
+
|
@@ -429,7 +433,7 @@
|
-
+
|
@@ -515,13 +519,13 @@
|
-
+
|
|
-
+
|
@@ -606,7 +610,7 @@
-
+
|
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/Ru=
leComboBoxModel.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleC=
omboBoxModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleC=
omboBoxModel.java 2009-06-10 15:24:16 UTC (rev 2365)
@@ -0,0 +1,123 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, US=
A.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.simulator.rule;
+
+import java.util.List;
+
+import javax.swing.AbstractListModel;
+import javax.swing.ComboBoxModel;
+
+import fr.ifremer.isisfish.rule.Rule;
+
+/**
+ * Model pour la liste des regles des parametres d'une simulation.
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *=20
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class RuleComboBoxModel extends AbstractListModel implements ComboBox=
Model {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID =3D -4070846632975105788L;
+ =20
+ protected List rules;
+
+ protected Object selectedItem;
+
+ /**
+ * Empty constructor.
+ */
+ public RuleComboBoxModel() {
+ this(null);
+ }
+ =20
+ /**
+ * Constructor with rule list.
+ *=20
+ * @param rules rules
+ */
+ public RuleComboBoxModel(List rules) {
+ super();
+ setRules(rules);
+ }
+
+ /**
+ * Get rules list.
+ *=20
+ * @return the rules
+ */
+ public List getRules() {
+ return rules;
+ }
+
+ /**
+ * Set rules list.
+ *=20
+ * @param rules the rules to set
+ */
+ public void setRules(List rules) {
+ this.rules =3D rules;
+ =20
+ // default first selected
+ if (!rules.isEmpty()) {
+ selectedItem =3D rules.get(0);
+ }
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return rules.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size =3D 0;
+ =20
+ if (rules !=3D null) {
+ size =3D rules.size();
+ }
+
+ return size;
+ }
+
+ /*
+ * @see javax.swing.ComboBoxModel#getSelectedItem()
+ */
+ @Override
+ public Object getSelectedItem() {
+ return selectedItem;
+ }
+
+ /*
+ * @see javax.swing.ComboBoxModel#setSelectedItem(java.lang.Object)
+ */
+ @Override
+ public void setSelectedItem(Object anItem) {
+ this.selectedItem =3D anItem;
+ }
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/Ru=
leListCellRenderer.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleL=
istCellRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/rule/RuleL=
istCellRenderer.java 2009-06-10 15:24:16 UTC (rev 2365)
@@ -0,0 +1,76 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, US=
A.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.simulator.rule;
+
+import java.awt.Component;
+
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+
+import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.rule.Rule;
+
+/**
+ * Rendu des donn=C3=A9es d'une liste graphique de regles
+ *
+ * @author chatellier
+ * @version $Revision: 2350 $
+ *=20
+ * Last update : $Date: 2009-06-09 13:52:58 +0200 (mar. 09 juin 2009) $
+ * By : $Author: chatellier $
+ */
+public class RuleListCellRenderer extends JLabel implements ListCellRenderer=
{
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID =3D -948394724922547715L;
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.=
swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ if (value !=3D null) {
+ Rule rule =3D (Rule)value;
+ String ruleName =3D RuleStorage.getName(rule);
+ setText(ruleName);
+ =20
+ try {
+ setToolTipText(rule.getDescription());
+ } catch (Exception e) {
+ // can't get exception
+ }
+ =20
+ if(isSelected) {
+ setBackground(list.getSelectionBackground());
+ setForeground(list.getSelectionForeground());
+ setOpaque(true); // background won't work
+ }
+ else {
+ setBackground(list.getBackground());
+ setForeground(list.getForeground());
+ setOpaque(false); // background won't work
+ }
+ }
+
+ return this;
+ }
+}
--===============3560954611474270498==--
|