r1588 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: . input result simulator versionning widget/filter
Author: sletellier Date: 2008-11-17 14:58:51 +0000 (Mon, 17 Nov 2008) New Revision: 1588 Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResultUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResultUIOld.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUIOld.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEditUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEditUIold.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanelUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanelUIOld.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBeanUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBeanUIOld.java Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/CellUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/EffortDescriptionUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.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/MetierUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationCapturabilityUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationMigrationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationOneEquationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PortUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SpeciesUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyMonthInfoUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/TripTypeUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResult.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBean.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEdit.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanel.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBean.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/PreScriptsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/CommitDialogUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/VCSGenerateSshKeyUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/VCSPassPhraseUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/filter/FilterPanelUI.jaxx Log: Input completed Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeAction.java 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeAction.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -9,18 +9,6 @@ */ package fr.ifremer.isisfish.ui; -import fr.ifremer.isisfish.ui.simulator.SimulAction; -import fr.ifremer.isisfish.ui.input.InputUI; -import fr.ifremer.isisfish.ui.result.ResultUI; -import fr.ifremer.isisfish.ui.script.ScriptUI; -import fr.ifremer.isisfish.ui.simulator.SimulQueueUI; -import fr.ifremer.isisfish.ui.simulator.SimulUI; -import static org.codelutin.i18n.I18nf._; -import java.awt.Component; -import javax.swing.JFrame; -import javax.swing.plaf.synth.Region; -import javax.swing.plaf.synth.SynthLookAndFeel; - public class WelcomeAction { public WelcomeAction(){ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -35,6 +35,7 @@ import fr.ifremer.isisfish.ui.simulator.SimulAction; import static javax.swing.JOptionPane.showMessageDialog; import fr.ifremer.isisfish.ui.input.InputAction; + import fr.ifremer.isisfish.ui.result.ResultAction; showMsgBox(simulUI.getContextValue(SimulAction.class).init()); protected void showMsgBox(String txt){ if (txt != null){ @@ -48,7 +49,7 @@ <fr.ifremer.isisfish.ui.simulator.SimulUI id='simulUI' constructorParams='new SimulAction()'/> </tab> <tab title='isisfish.notitle' icon='{new ImageIcon(getClass().getResource("/images/calc.gif"))}'> - <fr.ifremer.isisfish.ui.result.ResultUI/> + <fr.ifremer.isisfish.ui.result.ResultUI constructorParams='new ResultAction()'/> </tab> <tab title='isisfish.notitle' icon='{new ImageIcon(getClass().getResource("/images/book.gif"))}'> <fr.ifremer.isisfish.ui.input.InputUI constructorParams='new InputAction()'/> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -36,6 +36,7 @@ import fr.ifremer.isisfish.ui.simulator.SimulAction; import fr.ifremer.isisfish.ui.input.InputUI; import fr.ifremer.isisfish.ui.input.InputAction; + import fr.ifremer.isisfish.ui.result.ResultAction; import fr.ifremer.isisfish.ui.result.ResultUI; import fr.ifremer.isisfish.ui.script.ScriptUI; import fr.ifremer.isisfish.ui.simulator.SimulQueueUI; @@ -58,9 +59,15 @@ protected void monitorUI() { new ApplicationMonitorUI(); } +// public void addMenu(JMenu menu){ +// menuBar.add(menu); +// } ]]> </script> <JMenuBar> +<!-- + id="menuBar" +--> <JMenu text='isisfish.welcome.menu.file'> <JMenuItem text="isisfish.welcome.menu.synchro" /> <!-- @@ -71,7 +78,7 @@ </JMenu> <JMenu text="isisfish.welcome.menu.frame"> <JMenuItem text="isisfish.welcome.menu.simulation" onActionPerformed='openFrame(new SimulUI(new SimulAction()), _("isisfish.simulation.title"))'/> - <JMenuItem text="isisfish.welcome.menu.result" onActionPerformed='openFrame(new ResultUI(), _("isisfish.result.title"))'/> + <JMenuItem text="isisfish.welcome.menu.result" onActionPerformed='openFrame(new ResultUI(new ResultAction()), _("isisfish.result.title"))'/> <JMenuItem text="isisfish.welcome.menu.input" onActionPerformed='openFrame(new InputUI(new InputAction()), _("isisfish.input.title"))'/> <JMenuItem text="isisfish.welcome.menu.script" onActionPerformed='openFrame(new ScriptUI(), _("isisfish.script.title"))'/> <JSeparator/> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/CellUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/CellUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/CellUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -50,6 +50,7 @@ protected boolean changed = false; public CellUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/EffortDescriptionUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/EffortDescriptionUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/EffortDescriptionUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -31,6 +31,185 @@ */ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.EffortDescription; + import fr.ifremer.isisfish.entities.Metier; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.types.TimeUnit; + + boolean changed = false; + public EffortDescriptionUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(){ + fr.ifremer.isisfish.entities.SetOfVessels setOfVessels = getContextValue(InputAction.class).getSetOfVessels(); + if (setOfVessels != null){ + setEffortDescriptionMetierListModel(); + if (fieldEffortDescriptionEffortDescriptionList.getSelectedValue() == null){ + setEffortDescriptionEffortDescriptionListModel(getContextValue(InputAction.class).getSetOfVessels()); + } + Object value = fieldEffortDescriptionEffortDescriptionList.getSelectedValue(); + if (value != null){ + setEffortDescriptionEffortDescriptionListModel(getContextValue(InputAction.class).getSetOfVessels()); + EffortDescription effort = (EffortDescription)((GenericCell)value).getValue(); + fieldEffortDescriptionFishingOperation.setText(effort.getFishingOperation() + ""); + fieldEffortDescriptionFishingOperationDuration.setText(effort.getFishingOperationDuration() + ""); + fieldEffortDescriptionGearsNumberPerOperation.setText(effort.getGearsNumberPerOperation() + ""); + fieldEffortDescriptionCrewSize.setText(effort.getCrewSize() + ""); + fieldEffortDescriptionUnitCostOfFishing.setText(effort.getUnitCostOfFishing() + ""); + fieldEffortDescriptionFixedCrewSalary.setText(effort.getFixedCrewSalary() + ""); + fieldEffortDescriptionCrewFoodCost.setText(effort.getCrewFoodCost() + ""); + fieldEffortDescriptionCrewShareRate.setText(effort.getCrewShareRate() + ""); + fieldEffortDescriptionRepairAndMaintenanceGearCost.setText(effort.getRepairAndMaintenanceGearCost() + ""); + fieldEffortDescriptionLandingCosts.setText(effort.getLandingCosts() + ""); + fieldEffortDescriptionOtherRunningCost.setText(effort.getOtherRunningCost() + ""); + } + } + } + protected void setEffortDescriptionMetierListModel(){ + java.util.List<Metier> metiers = getContextValue(InputAction.class).getFisheryRegion().getMetier(); + DefaultListModel model = new DefaultListModel(); + for (Metier m : metiers){ + model.addElement(new GenericCell(m.getName(), m, Metier.class)); + } + fieldEffortDescriptionMetierList.setModel(model); + } + protected void setEffortDescriptionEffortDescriptionListModel(fr.ifremer.isisfish.entities.SetOfVessels setOfVessels){ + Collection<EffortDescription> possibleMetiers = setOfVessels.getPossibleMetiers(); + DefaultListModel model = new DefaultListModel(); + for (EffortDescription m : possibleMetiers){ + model.addElement(new GenericCell(m.getPossibleMetiers().getName(), m, EffortDescription.class)); + } + fieldEffortDescriptionEffortDescriptionList.setModel(model); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("SetOfVessles"); + getParentContainer(InputUI.class).setTreeSelection(topia, fr.ifremer.isisfish.entities.SetOfVessels.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("SetOfVessles"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + save.setEnabled(b); + } + protected void add(){ + fr.ifremer.isisfish.entities.SetOfVessels setOfVessels = getContextValue(InputAction.class).getSetOfVessels(); + if (setOfVessels != null){ + Object value = fieldEffortDescriptionMetierList.getSelectedValue(); + if (value != null){ + Metier m = (Metier)((GenericCell)value).getValue(); + getContextValue(InputAction.class).addEffortDescription(setOfVessels, m); + setEffortDescriptionEffortDescriptionListModel(getContextValue(InputAction.class).getSetOfVessels()); + } + } + refresh(); + } + protected void remove(){ + fr.ifremer.isisfish.entities.SetOfVessels setOfVessels = getContextValue(InputAction.class).getSetOfVessels(); + if (setOfVessels != null){ + Object value = fieldEffortDescriptionEffortDescriptionList.getSelectedValue(); + if (value != null){ + + EffortDescription e = (EffortDescription)((GenericCell)value).getValue(); + getContextValue(InputAction.class).removeEffortDescription(setOfVessels, e); + valueChanged(false); + setEffortDescriptionEffortDescriptionListModel(getContextValue(InputAction.class).getSetOfVessels()); + refresh(); + } + } + } + protected EffortDescription getEffortDescription(){ + Object value = fieldEffortDescriptionMetierList.getSelectedValue(); + EffortDescription result = null; + if (value != null){ + Metier m = (Metier)((GenericCell)value).getValue(); + result = getContextValue(InputAction.class).getSetOfVessels().getPossibleMetiers(m); + } + return result; + } + protected void fishingOperationChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setFishingOperation(Integer.parseInt(fieldEffortDescriptionFishingOperation.getText())); + } + } + protected void fishingOperationDurationChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setFishingOperationDuration(new TimeUnit(Double.parseDouble(fieldEffortDescriptionFishingOperationDuration.getText()))); + } + } + protected void gearsNumberPerOperationChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setGearsNumberPerOperation(Integer.parseInt(fieldEffortDescriptionGearsNumberPerOperation.getText())); + } + } + protected void descriptionCrewSizeChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setCrewSize(Integer.parseInt(fieldEffortDescriptionCrewSize.getText())); + } + } + protected void costOfFishingChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setUnitCostOfFishing(Double.parseDouble(fieldEffortDescriptionUnitCostOfFishing.getText())); + } + } + protected void fixedCrewSalaryChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setFixedCrewSalary(Double.parseDouble(fieldEffortDescriptionFixedCrewSalary.getText())); + } + } + protected void crewFoodCostChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setCrewFoodCost(Double.parseDouble(fieldEffortDescriptionCrewFoodCost.getText())); + } + } + protected void crewShareRateChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setCrewShareRate(Double.parseDouble(fieldEffortDescriptionCrewShareRate.getText())); + } + } + protected void repairAndMaintenanceGearCostChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setRepairAndMaintenanceGearCost(Double.parseDouble(fieldEffortDescriptionRepairAndMaintenanceGearCost.getText())); + } + } + protected void langdingCostsChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setLandingCosts(Double.parseDouble(fieldEffortDescriptionLandingCosts.getText())); + } + } + protected void otherRunningCostChanged(){ + EffortDescription possibleMetier = getEffortDescription(); + if (possibleMetier != null){ + possibleMetier.setOtherRunningCost(Double.parseDouble(fieldEffortDescriptionOtherRunningCost.getText())); + } + } + ]]> + </script> <row> <cell columns='2' fill='both' weightx='1.0' weighty='1.0'> <JScrollPane> @@ -49,7 +228,7 @@ <Table> <row> <cell fill='horizontal' weightx='1.0'> - <JButton id="buttonEffortDescriptionAdd" text="isisfish.common.add"/> + <JButton id="buttonEffortDescriptionAdd" text="isisfish.common.add" onActionPerformed='add()'/> <!-- actionCommand="input.InputEffortDescription.addEffortDescription($SetOfVessels, $fieldEffortDescriptionMetierList/selectedValue)" origin="not(getPossibleMetiers($SetOfVessels, $fieldEffortDescriptionMetierList/selectedValue))" @@ -59,15 +238,13 @@ <row> <cell fill='both' weightx='1.0' weighty='1.0'> <JScrollPane> - <JList id="fieldEffortDescriptionEffortDescriptionList" - selectionMode="0"> + <JList id="fieldEffortDescriptionEffortDescriptionList" selectionMode="0" onValueChanged='refresh()'/> <!-- Fixme : ListModel and ListSelectionEvents origin="$EffortDescription" renderer="possibleMetiers/name" <ListModel origin="$SetOfVessels/possibleMetiers"/> <ListSelectionEvents onValueChanged="input.Input.selectEntity('EffortDescription', $fieldEffortDescriptionEffortDescriptionList/selectedValue)"/> --> - </JList> </JScrollPane> </cell> </row> @@ -80,7 +257,7 @@ <JLabel text="isisfish.effortDescription.fishingOperation"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionFishingOperation"/> + <JTextField id="fieldEffortDescriptionFishingOperation" onKeyTyped='fishingOperationChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/fishingOperation" <DocumentEvents onModified="UpdateOrigin"> @@ -94,7 +271,7 @@ <JLabel text="isisfish.effortDescription.fishingOperationDuration"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionFishingOperationDuration"/> + <JTextField id="fieldEffortDescriptionFishingOperationDuration" onKeyTyped='fishingOperationDurationChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/fishingOperationDuration/hour" tooltips="in hour" <DocumentEvents onModified="Update(3600 * $fieldEffortDescriptionFishingOperationDuration/text, $EffortDescription/fishingOperationDuration)"/> @@ -106,7 +283,7 @@ <JLabel text="isisfish.effortDescription.gearsNumberPerOperation"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionGearsNumberPerOperation"/> + <JTextField id="fieldEffortDescriptionGearsNumberPerOperation" onKeyTyped='gearsNumberPerOperationChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/gearsNumberPerOperation" <DocumentEvents onModified="UpdateOrigin"> @@ -120,7 +297,7 @@ <JLabel text="isisfish.effortDescription.crewSize"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionCrewSize"/> + <JTextField id="fieldEffortDescriptionCrewSize" onKeyTyped='descriptionCrewSizeChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/crewSize" <DocumentEvents onModified="UpdateOrigin"> @@ -134,7 +311,7 @@ <JLabel text="isisfish.effortDescription.unitCostOfFishing"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionUnitCostOfFishing"/> + <JTextField id="fieldEffortDescriptionUnitCostOfFishing" onKeyTyped='costOfFishingChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/unitCostOfFishing" <DocumentEvents onModified="UpdateOrigin"> @@ -148,7 +325,7 @@ <JLabel text="isisfish.effortDescription.fixedCrewSalary"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionFixedCrewSalary"/> + <JTextField id="fieldEffortDescriptionFixedCrewSalary" onKeyTyped='fixedCrewSalaryChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/fixedCrewSalary" <DocumentEvents onModified="UpdateOrigin"> @@ -162,7 +339,7 @@ <JLabel text="isisfish.effortDescription.crewFoodCost"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionCrewFoodCost"/> + <JTextField id="fieldEffortDescriptionCrewFoodCost" onKeyTyped='crewFoodCostChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/crewFoodCost" <DocumentEvents onModified="UpdateOrigin"> @@ -176,7 +353,7 @@ <JLabel text="isisfish.effortDescription.crewShareRate"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionCrewShareRate"/> + <JTextField id="fieldEffortDescriptionCrewShareRate" onKeyTyped='crewShareRateChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/crewShareRate" <DocumentEvents onModified="UpdateOrigin"> @@ -190,7 +367,7 @@ <JLabel text="isisfish.effortDescription.repairAndMaintenanceGearCost"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionRepairAndMaintenanceGearCost"/> + <JTextField id="fieldEffortDescriptionRepairAndMaintenanceGearCost" onKeyTyped='repairAndMaintenanceGearCostChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/repairAndMaintenanceGearCost" <DocumentEvents onModified="UpdateOrigin"> @@ -204,7 +381,7 @@ <JLabel text="isisfish.effortDescription.landingCosts"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionLandingCosts"/> + <JTextField id="fieldEffortDescriptionLandingCosts" onKeyTyped='langdingCostsChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/landingCosts" <DocumentEvents onModified="UpdateOrigin"> @@ -218,7 +395,7 @@ <JLabel text="isisfish.effortDescription.otherRunningCost"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldEffortDescriptionOtherRunningCost"/> + <JTextField id="fieldEffortDescriptionOtherRunningCost" onKeyTyped='otherRunningCostChanged()'/> <!-- Fixme : DocumentEvents origin="$EffortDescription/otherRunningCost" <DocumentEvents onModified="UpdateOrigin"> @@ -232,21 +409,21 @@ <Table> <row> <cell fill='horizontal' weightx='0.3'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("EffortDescription", $EffortDescription);refreshView($inputEffortDescription)' --> </cell> <cell fill='horizontal' weightx='0.3'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("EffortDescription", $EffortDescription);refreshView($inputEffortDescription)' --> </cell> <cell fill='horizontal' weightx='0.3'> - <JButton text="isisfish.common.remove"/> + <JButton id='remove' text="isisfish.common.remove" onActionPerformed='remove()'/> <!-- origin="$EffortDescription" actionCommand="input.InputEffortDescription.remove($SetOfVessels, $EffortDescription)" 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 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -39,6 +39,7 @@ protected boolean changed = false; public GearTabUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -39,6 +39,7 @@ <script><![CDATA[ import fr.ifremer.isisfish.entities.Metier; public GearUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputAction.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -36,33 +36,43 @@ import fr.ifremer.isisfish.IsisFishDAOHelper; import fr.ifremer.isisfish.datastore.FormuleStorage; -import fr.ifremer.isisfish.datastore.StorageException; import java.util.List; import fr.ifremer.isisfish.datastore.RegionStorage; import fr.ifremer.isisfish.entities.Cell; +import fr.ifremer.isisfish.entities.EffortDescription; +import fr.ifremer.isisfish.entities.EffortDescriptionDAO; +import fr.ifremer.isisfish.entities.Equation; import fr.ifremer.isisfish.entities.FisheryRegion; +import fr.ifremer.isisfish.entities.Formule; import fr.ifremer.isisfish.entities.Gear; import fr.ifremer.isisfish.entities.Metier; +import fr.ifremer.isisfish.entities.MetierSeasonInfo; +import fr.ifremer.isisfish.entities.MetierSeasonInfoDAO; import fr.ifremer.isisfish.entities.Population; +import fr.ifremer.isisfish.entities.PopulationGroup; +import fr.ifremer.isisfish.entities.PopulationSeasonInfo; import fr.ifremer.isisfish.entities.Port; import fr.ifremer.isisfish.entities.Selectivity; import fr.ifremer.isisfish.entities.SelectivityDAO; import fr.ifremer.isisfish.entities.SetOfVessels; import fr.ifremer.isisfish.entities.Species; import fr.ifremer.isisfish.entities.Strategy; +import fr.ifremer.isisfish.entities.TargetSpecies; +import fr.ifremer.isisfish.entities.TargetSpeciesDAO; import fr.ifremer.isisfish.entities.TripType; import fr.ifremer.isisfish.entities.VesselType; import fr.ifremer.isisfish.entities.Zone; +import fr.ifremer.isisfish.types.Month; import java.lang.reflect.Method; import java.util.ArrayList; -import java.util.logging.Level; -import java.util.logging.Logger; import javax.swing.JOptionPane; import org.apache.commons.beanutils.MethodUtils; import org.apache.commons.lang.ClassUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelutin.math.matrix.MatrixFactory; +import org.codelutin.math.matrix.MatrixND; import org.codelutin.topia.TopiaContext; import org.codelutin.topia.persistence.TopiaDAO; import org.codelutin.topia.persistence.TopiaEntity; @@ -87,6 +97,7 @@ protected Zone zone; protected Port port; protected Species species; + protected Population population; protected Gear gear; protected Metier metier; protected TripType tripType; @@ -106,6 +117,8 @@ port = (Port) value; } else if (type == Species.class) { species = (Species) value; + } else if (type == Population.class) { + population = (Population) value; } else if (type == Gear.class) { gear = (Gear) value; } else if (type == Metier.class) { @@ -121,6 +134,7 @@ } selected = (TopiaEntity) value; selectedType = type; + } public TopiaContext getIsisContext(){ return isisContext; @@ -164,7 +178,7 @@ regionStorage = null; fisheryRegion = null; isisContext = null; - + // initContext(uiContext); if (name != null && !"".equals(name)) { @@ -183,6 +197,53 @@ } /** + * Create new region, and select it in combo, and show input pane region in + * input area. + * + * @param uiContext + * @param frame + * @param oldIsisContext + * @param oldRegionStorage + * @param inputPane + * @param combo + * @param name + * name of the new region + * @return if ok return null else OutView error + */ + public void newRegion(String name) { + try { + log.debug("newRegion called"); +// +// if (oldRegionStorage != null && oldIsisContext != null) { +// boolean result = askForSave(uiContext, frame, oldIsisContext); +// if (result) { +// addCommentOnRegion(uiContext, oldRegionStorage); +// // close old context before change region +// oldIsisContext.closeContext(); +// } else { +// frame.setInfoText(_("isisfish.message.create.region.canceled")); +// return null; +// } +// } + + if ("".equals(name)) { +// return new OutputView("Error.xml", "error", _("isisfish.error.region.name.empty")); + } + if (RegionStorage.getRegionNames().contains(name)) { +// return new OutputView("Error.xml", "error", _("isisfish.error.region.already.exists")); + } + + + RegionStorage.create(name); + + + } catch (Exception eee) { + log.error("Can't create region", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + } + + /** * If some entities has been modified by the user (EntityModified state is * true) then ask the user if he want save, don't save modification, or * cancel current wanted action. @@ -388,6 +449,38 @@ return msg; } + /** + * Save an Equation as model, to reuse it for other equation + * + * @param uiContext + * @param frame + * @param isisfish + * @param eq + * equation to put in models + * @return if ok return null else OutputView error message + */ + public Object saveEquationAsModel(Equation eq) { + try { + if (eq != null) { + String name = showInputDialog(""); + if ("".equals(name)) { +// return new OutputView("Error.xml", "error",_("isisfish.error.invalid.equation.name")); + } + if (name != null) { + FormuleStorage storage = FormuleStorage.createFormule(eq + .getCategory(), name, eq.getLanguage()); + storage.setContent(eq.getContent()); + } + + + } + } catch (Exception eee) { + log.error("Can't save equation as model", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + return null; + } + /** * Save an Equation as model, to reuse it for other equation * @@ -466,6 +559,10 @@ return species; } + protected Population getPopulation() { + return population; + } + protected Gear getGear() { return gear; } @@ -489,6 +586,9 @@ protected Strategy getStrategy() { return strategy; } + protected List<Formule> getFormules(String name){ + return FormuleStorage.getFormules(isisContext, name); + } // InputGear @@ -525,5 +625,267 @@ } return null; } + +// InputMetier + + public Object createSeasonInfo(){ + log.debug("createSeasonInfo called"); + try { + MetierSeasonInfoDAO metierSeasonInfoPS = IsisFishDAOHelper.getMetierSeasonInfoDAO(isisContext); + MetierSeasonInfo metierSeasonInfo = metierSeasonInfoPS.create(); + metierSeasonInfo.setFirstMonth(Month.MONTH[0]); + metierSeasonInfo.setLastMonth(Month.MONTH[3]); + metier.addMetierSeasonInfo(metierSeasonInfo); + metierSeasonInfo.update(); + metier.update(); +// isisContext.commitTransaction(); + }catch(Exception eee){ + log.error("Can't create MetierSeasonInfo", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + return null; + } + + public Object removeSeasonInfo(MetierSeasonInfo info){ + log.debug("createSeasonInfo called"); + try { + metier.removeMetierSeasonInfo(info); + metier.update(); + isisContext.commitTransaction(); + }catch(Exception eee){ + log.error("Can't create MetierSeasonInfo", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + return null; + } + +// static public Object selectSeasonInfo( +// Context uiContext, AbstractFrame frame, +// MetierSeasonInfo metierSeasonInfo){ +// log.debug("selectSeasonInfo called"); +// try { +// uiContext.setData("MetierSeasonInfo", metierSeasonInfo); +// +// frame.refreshView("inputMetierSeasonInfoZone"); +// frame.refreshView("inputMetierSeasonInfoSpecies"); +// }catch(Exception eee){ +// log.error("Can't create MetierSeasonInfo", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); +// } +// return null; +// } + + public Object addTargetSpecies(MetierSeasonInfo m, Species species, String targetFactorEquation, boolean primaryCatch){ + log.debug("addTargetSpecies called: " + metier + " " + species + " " + primaryCatch + " " + targetFactorEquation); + try { + TargetSpeciesDAO dao = IsisFishDAOHelper.getTargetSpeciesDAO(isisContext); + TargetSpecies targetSpecies = dao.create(); + + targetSpecies.setSpecies(species); + targetSpecies.getTargetFactorEquation().setContent(targetFactorEquation); + targetSpecies.setPrimaryCatch(primaryCatch); + m.addSpeciesTargetSpecies(targetSpecies); + +// frame.refreshView("inputMetierSeasonInfoSpecies"); + }catch(Exception eee){ + log.error("Can't add TargetSpecies", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + return null; + } + + public Object removeTargetSpecies(MetierSeasonInfo m, TargetSpecies targetSpecies){ + log.debug("removeTargetSpecies called: " + targetSpecies); + try { + if (targetSpecies != null) { + m.removeSpeciesTargetSpecies(targetSpecies); + +// frame.refreshView("inputMetierSeasonInfoSpecies"); + } + }catch(Exception eee){ + log.error("Can't remove TargetSpecies", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + return null; + } + +// SetOfVessels + + public void addEffortDescription(SetOfVessels setOfVessels, Metier metier) { + log.debug("addEffortDescription called: " + setOfVessels + " metier: " + metier); + try { + + EffortDescriptionDAO effortDescriptionPS = IsisFishDAOHelper.getEffortDescriptionDAO(isisContext); + EffortDescription effortDescription = effortDescriptionPS.create(); + effortDescription.setPossibleMetiers(metier); + effortDescription.update(); + setOfVessels.addPossibleMetiers(effortDescription); + setOfVessels.update(); +// isisContext.commitTransaction(); + + }catch(Exception eee){ + log.error("Can't create EffortDescription", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + } + + public Object removeEffortDescription(SetOfVessels sov, EffortDescription effort) { + log.debug("remove called"); + try { + sov.removePossibleMetiers(effort); + isisContext.commitTransaction(); + + } catch (Exception eee) { + log.error("Can't remove entity: " + effort, eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + return null; + } + +// Population + + public void wizardGroupOpen() { + log.debug("wizardGroupOpen"); + +// TODO : convertir WizardGroupCreation en jaxx + WizardGroupCreation model = new WizardGroupCreation(); + model.setAgeType(population.getSpecies().getAgeGroupType()); + if (model.isAgeType()) { + model.setState("singleGroupAge"); + } else { + model.setState("beginGroupLength"); + } + +// return new OutputView("input/WizardGroupCreation.xml", ctx); + } + + public Object createRecruitmentDistribution() { + log.debug("createRecruitmentDistributionontext called: " + population); + try { + String val = JOptionPane.showInputDialog(_("isisfish.message.recruitment.number.month")); + int num = -1; + + + if (val != null && !"".equals(val)) { + try { + num = Integer.parseInt(val); + } catch (RuntimeException eee) { + if (log.isWarnEnabled()) { + log.warn("Can't parse val: " + val, eee); + } + } + } + + if ( num > 0) { + List<String> sem = new ArrayList<String>(num); + for (int i=0; i<num; i++) { + sem.add(_("isisfish.common.month", i)); + } + MatrixND newMat = MatrixFactory.getInstance().create(new List[]{sem}); + + MatrixND mat = population.getRecruitmentDistribution(); + if (mat != null) { + newMat.paste(mat); + } + population.setRecruitmentDistribution(newMat); + population.update(); + } else { +// new OutputView("Error.xml", "error", _("isisfish.error.integer.positif")); + } + + } catch (Exception eee) { + log.error("Can't remove PopulationSeasonInfo", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + return null; + } + +// Migration + + public Object addMigration(PopulationSeasonInfo info, PopulationGroup group, Zone departure, Zone arrival, double coeff) { + log.debug("addMigration called"); + try { + MatrixND mat = info.getMigrationMatrix().copy(); + mat.setValue(group, departure, arrival, coeff); + info.setMigrationMatrix(mat); + + }catch(Exception eee){ + log.error("Can't add migration", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + return null; + } + + + public Object addEmigration(PopulationSeasonInfo info, PopulationGroup group, Zone departure, double coeff) { + log.debug("addEmigration called"); + try { + MatrixND mat = info.getEmigrationMatrix().copy(); + mat.setValue(group, departure, coeff); + info.setEmigrationMatrix(mat); + + }catch(Exception eee){ + log.error("Can't add emigration", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + return null; + } + +// public Object removeEmigration(PopulationSeasonInfo info, +// MatrixPanelEditor panel) { +// log.debug("removeEmigration called"); +// try { +// int row = panel.getTable().getSelectedRow(); +// Object group = panel.getTable().getValueAt(row, 0); +// Object departure = panel.getTable().getValueAt(row, 1); +// +// MatrixND mat = info.getEmigrationMatrix().copy(); +// mat.setValue(group, departure, 0); +// info.setEmigrationMatrix(mat); +// +// frame.refreshView("PopulationMigrationEmigrationTable"); +// }catch(Exception eee){ +// log.error("Can't remove migration", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); +// } +// return null; +// } + + + + + public Object addImmigration(PopulationSeasonInfo info, PopulationGroup group, Zone arrival, double coeff) { + log.debug("addImmigration called"); + try { + MatrixND mat = info.getImmigrationMatrix().copy(); + mat.setValue(group, arrival, coeff); + info.setImmigrationMatrix(mat); + + }catch(Exception eee){ + log.error("Can't add immigration", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + return null; + } + +// static public Object removeImmigration(AbstractFrame frame, PopulationSeasonInfo info, +// MatrixPanelEditor panel) { +// log.debug("removeImmigration called"); +// try { +// int row = panel.getTable().getSelectedRow(); +// Object group = panel.getTable().getValueAt(row, 0); +// Object arrival = panel.getTable().getValueAt(row, 2); +// +// MatrixND mat = info.getImmigrationMatrix().copy(); +// mat.setValue(group, arrival, 0); +// info.setImmigrationMatrix(mat); +// +// frame.refreshView("PopulationMigrationImmigrationTable"); +// }catch(Exception eee){ +// log.error("Can't remove immigration", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); +// } +// return null; +// } } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -31,7 +31,6 @@ */ --> <JPanel id="input" visible="true" size='{new Dimension(700,500)}' layout='{new BorderLayout()}' location='{new Point(0,139)}'> - <script><![CDATA[ import fr.ifremer.isisfish.ui.Common; import fr.ifremer.isisfish.ui.widget.editor.GenericCell; @@ -52,6 +51,7 @@ import fr.ifremer.isisfish.entities.TripType; import fr.ifremer.isisfish.entities.VesselType; import fr.ifremer.isisfish.entities.Zone; + import fr.ifremer.isisfish.entities.Population; import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; import org.codelutin.topia.persistence.TopiaEntity; @@ -85,6 +85,8 @@ portUI.refresh(); } else if (selectedValue.getType() == Species.class){ speciesUI.refresh(); + } else if (selectedValue.getType() == Population.class){ + populationUI.refresh(); } else if (selectedValue.getType() == Gear.class){ gearUI.refresh(); } else if (selectedValue.getType() == Metier.class){ @@ -100,6 +102,7 @@ } } public InputUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected DefaultComboBoxModel getFieldCurrentRegionModel(){ @@ -136,7 +139,7 @@ setNode(cellsTreeNode, getContextValue(InputAction.class).getFisheryRegion().getCell().toArray(), Cell.class); setNode(zonesTreeNode, getContextValue(InputAction.class).getFisheryRegion().getZone().toArray(), Zone.class); setNode(ports, getContextValue(InputAction.class).getFisheryRegion().getPort().toArray(), Port.class); - setNode(species, getContextValue(InputAction.class).getFisheryRegion().getSpecies().toArray(), Species.class); + setSpeciesNode(species, getContextValue(InputAction.class).getFisheryRegion().getSpecies().toArray(), Species.class); setNode(gears, getContextValue(InputAction.class).getFisheryRegion().getGear().toArray(), Gear.class); setNode(metiers, getContextValue(InputAction.class).getFisheryRegion().getMetier().toArray(), Metier.class); setNode(tripTypes, getContextValue(InputAction.class).getFisheryRegion().getTripType().toArray(), TripType.class); @@ -160,12 +163,21 @@ } return treeModel; } - protected void setNode(DefaultMutableTreeNode node, Object[] values, Class type) { + protected void setSpeciesNode (DefaultMutableTreeNode node, Object[] values, Class type){ for (Object value : values){ + DefaultMutableTreeNode population = new DefaultMutableTreeNode(new GenericCell("Population", null, Population.class)); DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(new GenericCell(value.toString(), value, type)); + setNode(population, ((Species)value).getPopulation().toArray(), Population.class); + childNode.add(population); node.add(childNode); } } + protected void setNode (DefaultMutableTreeNode node, Object[] values, Class type) { + for (Object value : values){ + DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(new GenericCell(value.toString(), value, type)); + node.add(childNode); + } + } protected void setTreeSelection(TopiaEntity topia, Class type){ String name = null; if (topia != null){ @@ -177,6 +189,8 @@ name = ((Port) topia).getName(); } else if (type == Species.class){ name = ((Species) topia).getName(); + } else if (type == Population.class){ + name = ((Population) topia).getName(); } else if (type == Gear.class){ name = ((Gear) topia).getName(); } else if (type == Metier.class){ @@ -225,99 +239,41 @@ WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); root.setInfoText(s); } + protected void newRegion(){ + String name = fieldNewRegion.getText(); + setInfoText(_("isisfish.message.creating.region", name)); + getContextValue(InputAction.class).newRegion(name); + setInfoText(_("isisfish.message.creating.region", name)); + fieldCurrentRegion.setModel(getFieldCurrentRegionModel()); + fieldCurrentRegion.setSelectedItem(name); + JButtonNewRegion.setEnabled(false); + setInfoText(_("isisfish.message.creation.finished")); + } + protected void newChanged(){ + JButtonNewRegion.setEnabled(true); + } ]]> </script> <JSplitPane oneTouchExpandable="true" dividerLocation="200" orientation="HORIZONTAL"> <JPanel layout='{new BorderLayout()}'> <Table constraints='BorderLayout.NORTH'> <row> - <cell fill='horizontal' weightx='0.5'> - <JTextField id="fieldNewRegion"/> -<!-- - <DocumentEvents onModified="refreshView($JButtonNewRegion)"/> ---> + <cell fill='horizontal' weightx='1.0'> + <JTextField id="fieldNewRegion" onKeyTyped='newChanged()'/> </cell> - <cell fill='horizontal' weightx='0.5'> - <JButton id="JButtonNewRegion" text="isisfish.input.newRegion"/> -<!-- - actionCommand="input.Input.newRegion($inputPane, $fieldCurrentRegion, $fieldNewRegion/text)" ---> + <cell fill='horizontal'> + <JButton id="JButtonNewRegion" text="isisfish.input.newRegion" onActionPerformed='newRegion()' enabled='false'/> </cell> </row> <row> <cell columns='2' fill='horizontal' weightx='1.0'> <JComboBox id="fieldCurrentRegion" model='{getFieldCurrentRegionModel()}' onActionPerformed='regionChange()'/> - -<!-- - model='{new DefaultComboBoxModel(getContextValue(InputAction.class).getCurrentRegionItem())}' - actionCommand="thread:input.Input.loadRegion($inputPane, $fieldCurrentRegion/selectedItem)" ---> - -<!-- - origin="fr.ifremer.isisfish.datastore.RegionStorage.getRegionNames()" - --> </cell> </row> </Table> <JPanel id="treePanel" name="treePanel" layout='{new BorderLayout()}'> <JScrollPane constraints='BorderLayout.CENTER'> <JTree id="tree" name="tree" model='{getTreeModel()}'/> -<!-- Fixme : NestedTreeModel - <NestedTreeModel id="treeModel"> - <TreeNode id="rootTreeNode" origin="$FisheryRegion"> - <TreeNode id="cellsTreeNode" name="Cells" type="fr.ifremer.isisfish.entities.Cell"> - <TreeNode treeOrigin="../.." childsPropertyName="cell"/> - </TreeNode> - <TreeNode id="zonesTreeNode" name="Zones" type="fr.ifremer.isisfish.entities.Zone"> - <TreeNode id="zoneNode" treeOrigin="../.." childsPropertyName="zone"/> - </TreeNode> - <TreeNode name="Ports" type="fr.ifremer.isisfish.entities.Port"> - <TreeNode treeOrigin="../.." childsPropertyName="port"/> - </TreeNode> - <TreeNode name="Species" type="fr.ifremer.isisfish.entities.Species"> - <TreeNode treeOrigin="../.." childsPropertyName="species"> - <TreeNode name="Populations" type="fr.ifremer.isisfish.entities.Population"> - <TreeNode treeOrigin="../.." childsPropertyName="getPopulation(.)"/> - </TreeNode> - </TreeNode> - </TreeNode> - <TreeNode name="Gears" type="fr.ifremer.isisfish.entities.Gear"> - <TreeNode treeOrigin="../.." childsPropertyName="gear"/> - </TreeNode> - <TreeNode name="Metiers" type="fr.ifremer.isisfish.entities.Metier"> - <TreeNode treeOrigin="../.." childsPropertyName="metier"/> - </TreeNode> - <TreeNode name="TripTypes" type="fr.ifremer.isisfish.entities.TripType"> - <TreeNode treeOrigin="../.." childsPropertyName="tripType"/> - </TreeNode> - <TreeNode name="VesselTypes" type="fr.ifremer.isisfish.entities.VesselType"> - <TreeNode treeOrigin="../.." childsPropertyName="vesselType"/> - </TreeNode> - <TreeNode name="SetOfVessels" type="fr.ifremer.isisfish.entities.SetOfVessels"> - <TreeNode treeOrigin="../.." childsPropertyName="setOfVessels"/> - </TreeNode> - <TreeNode name="Strategies" type="fr.ifremer.isisfish.entities.Strategy"> - <TreeNode treeOrigin="../.." childsPropertyName="strategy"/> - </TreeNode> - </TreeNode> - </NestedTreeModel> - - <TreeSelectionEvents id="treeSelectionListener" - onValueChanged="input.Input.treeSelectionChanged($inputPane, $tree)"/> - - <TreeRenderer> - <DefaultTreeRenderer childsPropertyName="name"/> - <DefaultTreeRenderer type="java.lang.String"/> - </TreeRenderer> ---> - <!-- used to update Tree when IsisContext is modified --> -<!-- - <TopiaEntityEvents id="updateTree" origin="$TopiaContext" - commit="input.Input.updateTreeEntityCommit($tree, $treeModel, $e/initialEvent)" - rollback="input.Input.updateTreeEntityRollback($tree, $treeModel, $e/initialEvent)" - entityRemoved="input.Input.updateTreeEntityRemoved($tree, $treeModel, $e/initialEvent)"/> - ---> </JScrollPane> </JPanel> </JPanel> @@ -327,6 +283,7 @@ <ZoneUI id='zoneUI' constraints='"Zone"' constructorParams='getContextValue(InputAction.class)'/> <PortUI id='portUI' constraints='"Port"' constructorParams='getContextValue(InputAction.class)'/> <SpeciesUI id='speciesUI' constraints='"Species"' constructorParams='getContextValue(InputAction.class)'/> + <PopulationUI id='populationUI' constraints='"Population"' constructorParams='getContextValue(InputAction.class)'/> <GearUI id='gearUI' constraints='"Gear"' constructorParams='getContextValue(InputAction.class)'/> <MetierUI id='metierUI' constraints='"Metier"' constructorParams='getContextValue(InputAction.class)'/> <TripTypeUI id='tripTypeUI' constraints='"TripType"' constructorParams='getContextValue(InputAction.class)'/> @@ -336,8 +293,4 @@ </JPanel> </JSplitPane> - -<!-- -<xpanel constraints='"BorderLayout.SOUTH"' xml="StatusBar.xml"/> ---> </JPanel> \ No newline at end of file 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 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -33,12 +33,169 @@ <Table> <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.MetierSeasonInfo; + 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 javax.swing.table.TableCellEditor; + + boolean changed = false; public MetierSeasonInfoSpeciesUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } - protected void refresh() { - + protected void refresh() { + if (fieldMetierSeasonInfo.getSelectedIndex() <= 0){ + setSeasonModel(); + } + else { + setTableTargetSpeciesModel(); + } + if (fieldTargetSpecies.getSelectedIndex() <= 0){ + setTargetSpeciesModel(); + } + if (fieldTargetFactorEquation.getSelectedIndex() <= 0){ + setTargetFactorEquationModel(); + } + try { + fieldTargetFactorScript.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); + } catch (IOException ex) { + Logger.getLogger(SelectivityUI.class.getName()).log(Level.SEVERE, null, ex); + } } + protected void setSeasonModel(){ + Metier metier = getContextValue(InputAction.class).getMetier(); + DefaultComboBoxModel seasonModel = new DefaultComboBoxModel(); + java.util.List<MetierSeasonInfo> metierSeasonInfo = metier.getMetierSeasonInfo(); + seasonModel.addElement(new GenericCell(" ", null, null)); + for (MetierSeasonInfo m : metierSeasonInfo){ + seasonModel.addElement(new GenericCell(m.getFirstMonth().toString() + "-" + m.getLastMonth().toString(), m, MetierSeasonInfo.class)); + } + fieldMetierSeasonInfo.setModel(seasonModel); + } + protected void setTargetSpeciesModel(){ + DefaultComboBoxModel fieldTargetSpeciesModel = new DefaultComboBoxModel(); + java.util.List<Species> species = getContextValue(InputAction.class).getFisheryRegion().getSpecies(); + fieldTargetSpeciesModel.addElement(new GenericCell(" ", null, null)); + for (Species s : species){ + fieldTargetSpeciesModel.addElement(new GenericCell(s.getName(), s, Species.class)); + } + fieldTargetSpecies.setModel(fieldTargetSpeciesModel); + } + protected void setTargetFactorEquationModel(){ + java.util.List<Formule> formules = fr.ifremer.isisfish.datastore.FormuleStorage.getFormules(getContextValue(InputAction.class).getIsisContext(), "TargetFactor"); + DefaultComboBoxModel fieldTargetFactorEquationModel = new DefaultComboBoxModel(); + fieldTargetFactorEquationModel.addElement(new GenericCell(" ", null, null)); + for (Formule f : formules){ + fieldTargetFactorEquationModel.addElement(new GenericCell(f.getName(), f, Formule.class)); + } + fieldTargetFactorEquation.setModel(fieldTargetFactorEquationModel); + } + 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(); + 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 equationChanged(){ + GenericCell g = (GenericCell)fieldTargetFactorEquation.getSelectedItem(); + if (g.getValue() != null){ + fieldTargetFactorScript.setText(((Formule)g.getValue()).getContent()); + } + else{ + try { + fieldTargetFactorScript.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); + } catch (IOException ex) { + Logger.getLogger(MetierSeasonInfoSpeciesUI.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + protected void saveAsModel(){ + getContextValue(InputAction.class).saveAsModel("Metier", "Java", fieldTargetFactorScript.getText()); + setInfoText(_("isisfish.message.saveModel.finished")); + } + protected void add(){ + Object season = ((GenericCell)fieldMetierSeasonInfo.getSelectedItem()).getValue(); + Object species = ((GenericCell)fieldTargetSpecies.getSelectedItem()).getValue(); + if (season != null && species != null){ + getContextValue(InputAction.class).addTargetSpecies( + (MetierSeasonInfo)season, + (Species)species, + fieldTargetFactorScript.getText(), + fieldPrimaryCatch.isSelected()); + valueChanged(true); + refresh(); + } + } + protected void remove(){ + // getContextValue(InputAction.class).removeSelectivity((Selectivity) getContextValue(InputAction.class).getGear().getPopulationSelectivity((Population) selectivityTable.getValueAt(selectivityTable.getSelectedRow(), 0))); + refresh(); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Metier"); + getParentContainer(InputUI.class).setTreeSelection(topia, Metier.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Metier"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void valueChanged(boolean b){ + changed=b; + cancel.setEnabled(b); + save.setEnabled(b); + } + protected void openEditor(){ + getContextValue(InputAction.class).openEditor("TargetFactor","new",fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation.class, fieldTargetFactorScript.getText(), fieldTargetFactorScript); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void metierSeasonChanged(){ + setTableTargetSpeciesModel(); + } ]]></script> <row> <cell fill='both' weightx='1.0' weighty='0.5'> @@ -48,7 +205,7 @@ <JLabel text="isisfish.metierSeasonInfoSpecies.selectSeason"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldMetierSeasonInfo"/> + <JComboBox id="fieldMetierSeasonInfo" onActionPerformed='metierSeasonChanged()'/> <!-- Fixme : ComboBoxModel firstNull="true" origin="$MetierSeasonInfo" renderer="concat(firstMonth, '-', lastMonth)" @@ -74,7 +231,7 @@ <JLabel text="isisfish.metierSeasonInfoSpecies.targetFactor"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldTargetFactorEquation"/> + <JComboBox id="fieldTargetFactorEquation" onActionPerformed='equationChanged()'/> <!-- Fixme : ComboBoxModel renderer="name" firstNull="true" actionCommand="update($fieldTargetFactorEquation/selectedItem/content, $fieldTargetFactorScript/text)" @@ -87,7 +244,7 @@ <Table> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.saveModel"/> + <JButton id='saveModel' text="isisfish.common.saveModel" onActionPerformed='saveAsModel()'/> <!-- actionCommand='input.Input.saveAsModel("TargetFactor", "Java", $fieldTargetFactorScript/text);refreshView($fieldTargetFactorEquation)' --> @@ -95,7 +252,7 @@ </row> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.openEditor"/> + <JButton id='openEditor' text="isisfish.common.openEditor" onActionPerformed='openEditor()'/> <!-- actionCommand='input.Input.openEditor("TargetFactor","new","fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation",$fieldTargetFactorScript/text,$fieldTargetFactorScript)' --> @@ -110,6 +267,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='1.0'> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> + <org.codelutin.widget.editor.Editor id='fieldTargetFactorScript' askIfNotSaved="false"/> <!-- <editor id="fieldTargetFactorScript" askIfNotSaved="false" origin="org.codelutin.util.FileUtil.getTempFile('', '.java')"> @@ -120,7 +278,7 @@ </row> <row> <cell fill='horizontal'> - <JPanel/> + <JPanel/> </cell> <cell fill='horizontal' weightx='1.0'> <JCheckBox id="fieldPrimaryCatch" text="isisfish.metierSeasonInfoSpecies.mainSpecies"/> @@ -134,8 +292,7 @@ <Table> <row> <cell columns='2' fill='horizontal' weightx='1.0'> - <JButton id="buttonMetierSpeciesAddTargetSpecies" - text="isisfish.common.add"/> + <JButton id="buttonMetierSpeciesAddTargetSpecies" text="isisfish.common.add" onActionPerformed='add()'/> <!-- actionCommand="input.InputMetier.addTargetSpecies($fieldMetierSeasonInfo/selectedItem, $fieldTargetSpecies/selectedItem, $fieldTargetFactorScript/text, $fieldPrimaryCatch/selected)" --> @@ -161,8 +318,7 @@ </row> <row> <cell columns='2' fill='horizontal' weightx='1.0'> - <JButton id="buttonMetierSpeciesRemoveTargetSpecies" - text="isisfish.common.remove"/> + <JButton id="buttonMetierSpeciesRemoveTargetSpecies" text="isisfish.common.remove" onActionPerformed='remove()'/> <!-- actionCommand="input.InputMetier.removeTargetSpecies(getSpeciesTargetSpecies($MetierSeasonInfo)[$tableTargetSpecies/selectedRow + 1])" --> @@ -170,14 +326,14 @@ </row> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()' enabled='false'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("MetierSeasonInfo", $MetierSeasonInfo);refreshView($inputMetierSeasonInfoSpecies)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()' enabled='false'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("MetierSeasonInfo", $MetierSeasonInfo);refreshView($inputMetierSeasonInfoSpecies)' Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -33,12 +33,159 @@ <Table> <script><![CDATA[ + import fr.ifremer.isisfish.entities.Season; + import fr.ifremer.isisfish.types.Month; + import fr.ifremer.isisfish.ui.widget.Interval; + import fr.ifremer.isisfish.entities.MetierSeasonInfo; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import fr.ifremer.isisfish.ui.widget.IntervalPanel; + import fr.ifremer.isisfish.entities.Zone; + import fr.ifremer.isisfish.entities.Metier; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + + protected boolean changed = false; + protected IntervalPanel ip = new IntervalPanel(); + displayMetierSeason.add(ip, BorderLayout.CENTER); public MetierSeasonInfoZoneUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } - protected void refresh() { - + protected void refresh(boolean seasonInit) { + Metier metier = getContextValue(InputAction.class).getMetier(); + if (metier != null){ + if (seasonInit){ + DefaultComboBoxModel seasonModel = new DefaultComboBoxModel(); + java.util.List<MetierSeasonInfo> metierSeasonInfo = metier.getMetierSeasonInfo(); + seasonModel.addElement(new GenericCell(" ", null, null)); + for (MetierSeasonInfo m : metierSeasonInfo){ + seasonModel.addElement(new GenericCell(m.getFirstMonth().toString() + "-" + m.getLastMonth().toString(), m, MetierSeasonInfo.class)); + } + fieldMetierSeasonChoice.setModel(seasonModel); + } + Object selected = fieldMetierSeasonChoice.getSelectedItem(); + if (selected != null){ + Object value = ((GenericCell)selected).getValue(); + if (value != null){ + + // Data extraction + Season season = (Season) value; + + // Model instanciation + Interval interval = new Interval(); + interval.setMin(0); + interval.setMax(11); + interval.setFirst(0); + interval.setLast(2); + + try { + log.debug("************** Interval ************"); + Month firstMonth = season.getFirstMonth(); + if (firstMonth != null) { + interval.setFirst(firstMonth.getMonthNumber()); + log.debug(" first : " + interval.getFirst()); + } else { + interval.setFirst(0); + } + + Month lastMonth = season.getLastMonth(); + if (lastMonth != null) { + interval.setLast(lastMonth.getMonthNumber()); + log.debug(" last : " + interval.getLast()); + } else { + interval.setLast(3); + } + } catch (Exception e) { + log.error("Unexpected origin.", e); + // Only trace the error and go on. + } + ip.setLabelRenderer(Month.MONTH); + ip.setModel(interval); + } + + + DefaultListModel zonesModel = new DefaultListModel(); + java.util.List<Zone> metierZone = getContextValue(InputAction.class).getFisheryRegion().getZone(); + for (Zone z : metierZone ){ + zonesModel.addElement(z); + // new GenericCell(z.getName(), z, Zone.class) + } + metierZones.setModel(zonesModel); + if (value != null){ + Collection<Zone> zones = ((MetierSeasonInfo)value).getZone(); + int [] selectedIndices = new int[zones.size()]; + int cnt = 0; + for (Zone z : zones){ + selectedIndices[cnt] = zonesModel.indexOf(z); + cnt++; + } + metierZones.setSelectedIndices(selectedIndices); + fieldMetierSeasonZoneComment.setText(((MetierSeasonInfo)value).getSeasonZoneComment()); + } + } + } } + protected void create(){ + TopiaEntity topia = getContextValue(InputAction.class).create("Metier"); + + getParentContainer(InputUI.class).setTreeModel(); + getParentContainer(InputUI.class).setTreeSelection(topia, Metier.class); + + setInfoText(_("isisfish.message.creation.finished")); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Metier"); + getParentContainer(InputUI.class).setTreeSelection(topia, Metier.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(false); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Metier"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(false); + } + protected void remove(){ + setInfoText(getContextValue(InputAction.class).remove()); + valueChanged(false); + refresh(false); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + cancel.setEnabled(b); + save.setEnabled(b); + } + protected void zonesChanged(){ + Object selected = fieldMetierSeasonChoice.getSelectedItem(); + if (selected != null){ + Object value = ((GenericCell)selected).getValue(); + if (value != null){ + // Data extraction + MetierSeasonInfo season = (MetierSeasonInfo) value; + for (Object o : metierZones.getSelectedValues()){ + season.addZone((Zone)o); + } + } + } + valueChanged(true); + } + protected void commentChanged(){ + Object selected = fieldMetierSeasonChoice.getSelectedItem(); + if (selected != null){ + Object value = ((GenericCell)selected).getValue(); + if (value != null){ + // Data extraction + MetierSeasonInfo season = (MetierSeasonInfo) value; + season.setSeasonZoneComment(fieldMetierSeasonZoneComment.getText()); + } + } + valueChanged(true); + } ]]></script> <row> <cell fill='both' weightx='1.0' weighty='1.0'> @@ -48,7 +195,7 @@ <JLabel text="isisfish.metierSeasonInfoZone.selectSeason"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldMetierSeasonChoice"/> + <JComboBox id="fieldMetierSeasonChoice" onActionPerformed='refresh(false)'/> <!-- firstNull="true" origin="$MetierSeasonInfo" renderer="concat(firstMonth, '-', lastMonth)" @@ -62,7 +209,7 @@ <JLabel text="isisfish.metierSeasonInfoZone.season"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JPanel/> + <JPanel id='displayMetierSeason' layout='{new BorderLayout()}'/> <!--fr.ifremer.isisfish.ui.widget.IntervalPanel id="displayMetierSeason"/--> <!-- Fixme : SeasonIntervalPanel @@ -86,7 +233,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='0.7'> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> - <JList id="metierZones"> + <JList id="metierZones" onValueChanged='zonesChanged()'> <!-- Fixme : ListModel and ListSelectionEvents origin="$MetierSeasonInfo/zone" renderer="name" <ListModel origin="$FisheryRegion/zone"/> @@ -102,7 +249,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='0.3'> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> - <JTextArea id="fieldMetierSeasonZoneComment"> + <JTextArea id="fieldMetierSeasonZoneComment" onKeyTyped='commentChanged()'> <!-- Fixme : DocumentEvents origin="$MetierSeasonInfo/seasonZoneComment" <DocumentEvents onModified="Update($fieldMetierSeasonZoneComment/text)"/> @@ -119,34 +266,18 @@ <Table> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.new"/> -<!-- -origin="$FisheryRegion" -actionCommand='input.InputMetier.createSeasonInfo($Metier)' ---> + <JButton id ='save' text="isisfish.common.save" onActionPerformed='save()' enabled='false'/> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> -<!-- -origin="$EntityModified" -actionCommand='input.Input.save("MetierSeasonInfo", $MetierSeasonInfo);refreshView($inputMetierSeasonInfoZone)' ---> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()' enabled='false'/> </cell> </row> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> -<!-- -origin="$EntityModified" -actionCommand='input.Input.cancel("MetierSeasonInfo", $MetierSeasonInfo);refreshView($inputMetierSeasonInfoZone)' ---> + <JButton id='create' text="isisfish.common.new" onActionPerformed='create()'/> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.remove"/> -<!-- -origin="$MetierSeasonInfo" -actionCommand="input.InputMetier.removeSeasonInfo($Metier, $MetierSeasonInfo)" ---> + <JButton id='remove' text="isisfish.common.remove" onActionPerformed='remove()'/> </cell> </row> </Table> 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 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -45,6 +45,7 @@ protected boolean changed = false; public MetierTabUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { 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 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -38,12 +38,13 @@ <script><![CDATA[ import fr.ifremer.isisfish.entities.TripType; public MetierUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { metierTabUI.refresh(); metierSeasonSpeciesUI.refresh(); - metierSeasonInfoUI.refresh(); + metierSeasonInfoUI.refresh(true); } protected void goToTripType(){ getParentContainer(InputUI.class).setTreeSelection(null, TripType.class); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,6 +32,227 @@ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.Equation; + import fr.ifremer.isisfish.entities.Formule; + import fr.ifremer.isisfish.entities.PopulationGroup; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import fr.ifremer.isisfish.entities.Population; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import javax.swing.table.DefaultTableModel; + import java.util.logging.Level; + import java.util.logging.Logger; + + boolean changed = false; + protected Population pop = null; + public PopulationBasicsUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(){ + jaxx.runtime.Util.assignment(pop = getContextValue(InputAction.class).getPopulation(), "pop", fr.ifremer.isisfish.ui.input.PopulationBasicsUI.this); + try { + editor.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); + editorReverse.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); + } catch (IOException ex) { + Logger.getLogger(PopulationBasicsUI.class.getName()).log(Level.SEVERE, null, ex); + } + if (pop != null){ + fieldPopulationBasicsName.setText(pop.getName()); + fieldPopulationBasicsGeographicID.setText(pop.getGeographicId()); + fieldPopulationBasicsNbClasses.setText(pop.sizePopulationGroup() + ""); + setFieldPopulationBasicsMatureClassModel(); + fieldPopulationBasicsPlusGroup.setSelected(pop.getPlusGroup()); + setFieldPopulationBasicsGrowthModel(); + setfieldPopulationBasicsGrowthReverseModel(); + fieldPopulationBasicsComment.setText(pop.getComment()); + growthReverseChanged(); + basicsGrowthChanged(); + setTableAgeLengthModel(); + valueChanged(false); + } + } + protected void setFieldPopulationBasicsMatureClassModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + PopulationGroup selected = null; + model.addElement(null); + for (PopulationGroup p : pop.getPopulationGroup()){ + model.addElement(p); + if (pop.getMaturityGroup() == p){ + selected = p; + } + } + fieldPopulationBasicsMatureClass.setModel(model); + if (selected != null){ + fieldPopulationBasicsMatureClass.setSelectedItem(selected); + } + } + protected void setFieldPopulationBasicsGrowthModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + GenericCell selected = null; + model.addElement(new GenericCell(" ", null, null)); + for (Formule f : getContextValue(InputAction.class).getFormules("Growth")){ + GenericCell c = new GenericCell(f.getName(), f, Formule.class); + model.addElement(c); + if (((Equation)f).equals(pop.getGrowth())){ + selected = c; + } + } + fieldPopulationBasicsGrowth.setModel(model); + if (selected != null){ + fieldPopulationBasicsGrowth.setSelectedItem(selected); + basicsGrowthChanged(); + } + } + protected void setfieldPopulationBasicsGrowthReverseModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + model.addElement(new GenericCell(" ", null, null)); + GenericCell selected = null; + for (Formule f : getContextValue(InputAction.class).getFormules("GrowthReverse")){ + GenericCell c = new GenericCell(f.getName(), f, Formule.class); + model.addElement(c); + if (((Equation)f).equals(pop.getGrowthReverse())){ + selected = c; + } + } + fieldPopulationBasicsGrowthReverse.setModel(model); + if (selected != null){ + fieldPopulationBasicsGrowthReverse.setSelectedItem(selected); + growthReverseChanged(); + } + } + protected Equation getEquation(){ + Equation result = null; + Object o = fieldPopulationBasicsGrowth.getSelectedItem(); + if (o != null){ + GenericCell c = (GenericCell)o; + if (c.getValue() != null){ + result = (Equation)c.getValue(); + } + } + return result; + } + protected Equation getReverseEquation(){ + Equation result = null; + Object o = fieldPopulationBasicsGrowthReverse.getSelectedItem(); + if (o != null){ + GenericCell c = (GenericCell)o; + if (c.getValue() != null){ + result = (Equation)c.getValue(); + } + } + return result; + } + protected void nameChanged(){ + pop.setName(fieldPopulationBasicsName.getText()); + } + protected void geographicChanged(){ + pop.setGeographicId(fieldPopulationBasicsGeographicID.getText()); + } + protected void createClasses(){ + getContextValue(InputAction.class).wizardGroupOpen(); + } + protected void matureClassChanged(){ + Object selected = fieldPopulationBasicsMatureClass.getSelectedItem(); + if (selected != null){ + pop.setMaturityGroup((PopulationGroup) selected); + } + } + protected void plusGroupChanged(){ + pop.setPlusGroup(fieldPopulationBasicsPlusGroup.isSelected()); + } + protected void basicsGrowthChanged(){ + Equation f = getEquation(); + if (f != null){ + editor.setText(f.getContent()); + } + } + protected void saveGrowthModel(){ + Equation e = getEquation(); + if (e != null){ + getContextValue(InputAction.class).saveAsModel(e.getCategory(), e.getLanguage(), e.getContent()); + } + } + protected void openGrowthEditor(){ + Equation e = getEquation(); + if (e != null){ + getContextValue(InputAction.class).openEditor(e.getCategory(), e.getName(), fr.ifremer.isisfish.equation.PopulationGrowth.class, e.getContent(), editor); + } + } + protected void growthReverseChanged(){ + Equation f = getEquation(); + if (f != null){ + editorReverse.setText(f.getContent()); + } + } + protected void saveGrowthReverseModel(){ + Equation e = getEquation(); + if (e != null){ + getContextValue(InputAction.class).saveAsModel(e.getCategory(), e.getLanguage(), e.getContent()); + } + } + protected void openGrowthReverseEditor(){ + Equation e = getEquation(); + if (e != null){ + getContextValue(InputAction.class).openEditor(e.getCategory(), e.getName(), fr.ifremer.isisfish.equation.PopulationGrowthReverse.class, e.getContent(), editorReverse); + } + } + protected void commentChanged(){ + pop.setComment(fieldPopulationBasicsComment.getText()); + } + protected void setTableAgeLengthModel(){ + java.util.List<PopulationGroup> popGroup = pop.getPopulationGroup(); + + DefaultTableModel model = new DefaultTableModel(2, popGroup.size() + 1); + model.setValueAt("Age", 0, 0); + model.setValueAt("Lengths", 1, 0); + int cnt = 1; + for (PopulationGroup pg : popGroup){ + model.setValueAt(pg.getAge(), 0, cnt); + model.setValueAt(pg.getLength(), 1, cnt); + cnt++; + } + tableAgeLength.setModel(model); + } + protected void create(){ + TopiaEntity topia = getContextValue(InputAction.class).create("Population"); + + getParentContainer(InputUI.class).setTreeModel(); + getParentContainer(InputUI.class).setTreeSelection(topia, Population.class); + + setInfoText(_("isisfish.message.creation.finished")); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Population"); + getParentContainer(InputUI.class).setTreeSelection(topia, Population.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Population"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void remove(){ + setInfoText(getContextValue(InputAction.class).remove()); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + create.setEnabled(b); + save.setEnabled(b); + } + ]]> + </script> <row> <cell fill='both' weightx='1.0' weighty='1.0'> <Table> @@ -43,7 +264,7 @@ <JLabel text="isisfish.populationBasics.name"/> </cell> <cell columns='2' fill='horizontal' weightx='1.0'> - <JTextField id="fieldPopulationBasicsName"/> + <JTextField id="fieldPopulationBasicsName" onKeyTyped='nameChanged()'/> <!-- Fixme : DocumentEvents origin="$Population/name" <DocumentEvents onModified="Update($fieldPopulationBasicsName/text)"/> @@ -55,7 +276,7 @@ <JLabel text="isisfish.populationBasics.geographicID"/> </cell> <cell columns='2' fill='horizontal' weightx='1.0'> - <JTextField id="fieldPopulationBasicsGeographicID"/> + <JTextField id="fieldPopulationBasicsGeographicID" onKeyTyped='geographicChanged()'/> <!-- Fixme : DocumentEvents origin="$Population/geographicId" <DocumentEvents onModified="Update($fieldPopulationBasicsGeographicID/text)"/> @@ -73,7 +294,7 @@ --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton id="buttonPopulationBasicsCreateClasses" text="isisfish.populationBasics.recreateClasses"/> + <JButton id="buttonPopulationBasicsCreateClasses" text="isisfish.populationBasics.recreateClasses" onActionPerformed='createClasses()'/> <!-- actionCommand="input.InputPopulation.wizardGroupOpen($Population)" --> @@ -84,7 +305,7 @@ <JLabel text="isisfish.populationBasics.maturityGroup"/> </cell> <cell fill='horizontal' weightx='0.5'> - <JComboBox id="fieldPopulationBasicsMatureClass"/> + <JComboBox id="fieldPopulationBasicsMatureClass" onActionPerformed='matureClassChanged()'/> <!-- firstNull="true" origin="$Population/maturityGroup" renderer="concat(population/name, ' - ', id)" @@ -93,7 +314,7 @@ --> </cell> <cell fill='horizontal' weightx='0.5'> - <JCheckBox id="fieldPopulationBasicsPlusGroup" text="isisfish.populationBasics.plusGroup"/> + <JCheckBox id="fieldPopulationBasicsPlusGroup" text="isisfish.populationBasics.plusGroup" onActionPerformed='plusGroupChanged()'/> <!-- Fixme : MouseEvents origin="$Population/plusGroup" <MouseEvents onClicked="Update($fieldPopulationBasicsPlusGroup/selected)"/> @@ -102,7 +323,7 @@ </row> <row> <cell columns='3' fill='both' weightx='1.0'> - <JTable> + <JTable id='tableAgeLength'> <!-- Fixme : tableModel layDown="true" <tableModel origin="$Population/populationGroup"> @@ -118,7 +339,7 @@ <JLabel text="isisfish.populationBasics.growth"/> </cell> <cell columns='2' fill='horizontal' weightx='1.0'> - <JComboBox id="fieldPopulationBasicsGrowth"/> + <JComboBox id="fieldPopulationBasicsGrowth" onActionPerformed='basicsGrowthChanged()'/> <!-- origin="$Population/growth" renderer="name" firstNull="true" actionCommand="update($fieldPopulationBasicsGrowth/selectedItem/content, $fieldScriptPopulationBasicsGrowth/text)" @@ -131,7 +352,7 @@ <Table> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.saveModel"/> + <JButton text="isisfish.common.saveModel" onActionPerformed='saveGrowthModel()'/> <!-- actionCommand='input.Input.saveEquationAsModel($Population/growth);refreshView($fieldPopulationBasicsGrowth)' --> @@ -139,7 +360,7 @@ </row> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.openEditor"/> + <JButton text="isisfish.common.openEditor" onActionPerformed='openGrowthEditor()'/> </cell> </row> <row> @@ -150,7 +371,9 @@ </Table> </cell> <cell columns='2' fill='both' weightx='1.0' weighty='0.4'> - <JTextArea/> + <JScrollPane> + <org.codelutin.widget.editor.Editor id='editor' askIfNotSaved="false"/> + </JScrollPane> <!-- Fixme : editor and DocumentEvents actionCommand='input.Input.openEditor($Population/growth/category,$Population/growth/name,$Population/growth/javaInterface,$Population/growth/content,$fieldScriptPopulationBasicsGrowth)' <editor constraints='"fieldScriptPopulationBasicsGrowth"' askIfNotSaved="false" @@ -169,7 +392,7 @@ <JLabel text="isisfish.populationBasics.growthReverse"/> </cell> <cell columns='2' fill='horizontal' weightx='1.0'> - <JComboBox id="fieldPopulationBasicsGrowthReverse"/> + <JComboBox id="fieldPopulationBasicsGrowthReverse" onActionPerformed='growthReverseChanged()'/> <!-- Fixme : ComboBoxModel origin="$Population/growthReverse" renderer="name" firstNull="true" actionCommand="update($fieldPopulationBasicsGrowthReverse/selectedItem/content, $fieldScriptPopulationBasicsGrowthReverse/text)" @@ -182,7 +405,7 @@ <Table> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.saveModel"/> + <JButton text="isisfish.common.saveModel" onActionPerformed='saveGrowthReverseModel()'/> <!-- actionCommand='input.Input.saveEquationAsModel($Population/growthReverse);refreshView($fieldPopulationBasicsGrowthReverse)' --> @@ -190,7 +413,7 @@ </row> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.openEditor"/> + <JButton text="isisfish.common.openEditor" onActionPerformed='openGrowthReverseEditor()'/> </cell> </row> <row> @@ -201,7 +424,9 @@ </Table> </cell> <cell columns='2' fill='both' weightx='1.0' weighty='0.4'> - <JTextArea/> + <JScrollPane> + <org.codelutin.widget.editor.Editor id='editorReverse' askIfNotSaved="false"/> + </JScrollPane> <!-- Fixme : editor actionCommand='input.Input.openEditor($Population/growthReverse/category,$Population/growthReverse/name,$Population/growthReverse/javaInterface,$Population/growthReverse/content,$fieldScriptPopulationBasicsGrowthReverse)' @@ -220,7 +445,7 @@ </cell> <cell columns='2' fill='both' weightx='1.0' weighty='0.2'> <JScrollPane> - <JTextArea id="fieldPopulationBasicsComment"> + <JTextArea id="fieldPopulationBasicsComment" onKeyTyped='commentChanged()'> <!-- Fixme : DocumentEvents origin="$Population/comment" <DocumentEvents onModified="Update($fieldPopulationBasicsComment/text)"/> @@ -243,14 +468,14 @@ <Table> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.new"/> + <JButton id='create' text="isisfish.common.new" onActionPerformed='create()'/> <!-- origin="$FisheryRegion" actionCommand='input.InputPopulation.create()' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("Population", $Population);refreshView($inputPopulationBasics)' @@ -259,14 +484,14 @@ </row> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("Population", $Population);refreshView($inputPopulationBasics)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.remove"/> + <JButton id='remove' text="isisfish.common.remove" onActionPerformed='remove()'/> <!-- origin="$Population" actionCommand="input.Input.remove($Population)" Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationCapturabilityUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationCapturabilityUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationCapturabilityUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,6 +32,64 @@ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.Population; + import org.codelutin.math.matrix.gui.MatrixPanelEvent; + import org.codelutin.math.matrix.gui.MatrixPanelListener; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + + protected Population pop = null; + protected boolean changed = false; + public PopulationCapturabilityUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(){ + pop = getContextValue(InputAction.class).getPopulation(); + if (pop != null){ + fieldPopulationCapturabilityComment.setText(pop.getCapturabilityComment()); + fieldPopulationCapturability.setMatrix(pop.getCapturability().copy()); + fieldPopulationCapturability.addMatrixListener(new MatrixPanelListener() { + + @Override + public void matrixChanged(MatrixPanelEvent arg0) { + pop.setCapturability(fieldPopulationCapturability.getMatrix()); + valueChanged(true); + } + }); + valueChanged(false); + } + } + protected void commentChanged(){ + pop.setCapturabilityComment(fieldPopulationCapturabilityComment.getText()); + valueChanged(true); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Population"); + getParentContainer(InputUI.class).setTreeSelection(topia, Population.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Metier"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + cancel.setEnabled(b); + save.setEnabled(b); + } + ]]> + </script> <row> <cell columns='2' fill='horizontal' weightx='1.0' anchor='east'> <JLabel text="isisfish.populationCapturability.selectCoefficient"/> @@ -39,7 +97,7 @@ </row> <row> <cell columns='2' fill='both' weightx='1.0'> - <JTable/> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationCapturability'/> <!-- Fixme : MatrixPanel and MatrixPanelEvents <MatrixPanel constraints="fieldPopulationCapturability" id="fieldPopulationCapturability" origin="copy($Population/capturability)"> @@ -56,7 +114,7 @@ <row> <cell columns='2' fill='both' weightx='1.0' weighty='1.0'> <JScrollPane> - <JTextArea id="fieldPopulationCapturabilityComment"> + <JTextArea id="fieldPopulationCapturabilityComment" onKeyTyped='commentChanged()'> <!-- Fixme : DocumentEvents origin="$Population/capturabilityComment" <DocumentEvents onModified="Update($fieldPopulationCapturabilityComment/text)"/> @@ -67,14 +125,14 @@ </row> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> -<!-- + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> +<!-- origin="$EntityModified" actionCommand='input.Input.save("Population", $Population);refreshView($inputCapturability)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("Population", $Population);refreshView($inputCapturability)' Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -31,32 +31,77 @@ */ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.Formule; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.entities.Population; + + protected Population pop = null; + boolean changed = false; + public PopulationEquationUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(){ + pop = getContextValue(InputAction.class).getPopulation(); + if (pop != null){ + naturalDeathRate.refresh(_("isisfish.populationEquation.naturalDeathRate"), (Formule)pop.getNaturalDeathRate(), "NaturalDeathRate", fr.ifremer.isisfish.equation.PopulationNaturalDeathRate.class); + meanWeight.refresh(_("isisfish.populationEquation.meanWeight"), (Formule)pop.getMeanWeight(), "MeanWeight", fr.ifremer.isisfish.equation.PopulationMeanWeight.class); + price.refresh(_("isisfish.populationEquation.price"), (Formule)pop.getPrice(), "Price", fr.ifremer.isisfish.equation.PopulationPrice.class); + } + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Population"); + getParentContainer(InputUI.class).setTreeSelection(topia, fr.ifremer.isisfish.entities.Population.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Population"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + save.setEnabled(b); + cancel.setEnabled(b); + } + ]]> + </script> <row> <cell columns='2' fill='both' weightx='1.0' weighty='0.3'> - <PopulationOneEquationUI id='NaturalDeathRate'/> + <PopulationOneEquationUI id='naturalDeathRate' constructorParams='getContextValue(InputAction.class)'/> </cell> </row> <row> <cell columns='2' fill='both' weightx='1.0' weighty='0.3'> - <PopulationOneEquationUI id='MeanWeight'/> + <PopulationOneEquationUI id='meanWeight' constructorParams='getContextValue(InputAction.class)'/> </cell> </row> <row> <cell columns='2' fill='both' weightx='1.0' weighty='0.3'> - <PopulationOneEquationUI id='Price'/> + <PopulationOneEquationUI id='price' constructorParams='getContextValue(InputAction.class)'/> </cell> </row> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" enabled='false' onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("Population", $Population);refreshView($inputPopulationEquation)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" enabled='false' onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("Population", $Population);refreshView($inputPopulationEquation)' Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,12 +32,99 @@ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.PopulationGroup; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import fr.ifremer.isisfish.entities.Population; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import org.codelutin.math.matrix.gui.MatrixPanelListener; + import org.codelutin.math.matrix.gui.MatrixPanelEvent; + + protected boolean changed = false; + protected Population pop = null; + protected PopulationGroup populationGroup = null; + public PopulationGroupUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(){ + pop = getContextValue(InputAction.class).getPopulation(); + if (populationGroup != null){ + setFieldPopulationGroupPopulationGroupModel(); + fieldPopulationGroupMeanWeight.setText(populationGroup.getMeanWeight() + ""); + fieldPopulationGroupPrice.setText(populationGroup.getPrice() + ""); + fieldPopulationGroupReproductionRate.setText(populationGroup.getReproductionRate() + ""); + fieldPopulationGroupAge.setText(populationGroup.getAge() + ""); + fieldPopulationGroupMinLength.setText(populationGroup.getMinLength() + ""); + fieldPopulationGroupMaxLength.setText(populationGroup.getMaxLength() + ""); + fieldPopulationGroupComment.setText(populationGroup.getComment()); + setFieldPopulationGroupNaturalDeathRateModel(); + } + } + protected void setFieldPopulationGroupNaturalDeathRateModel(){ + fieldPopulationGroupNaturalDeathRate.setMatrix(pop.getNaturalDeathRateMatrix()); + } + protected void setFieldPopulationGroupPopulationGroupModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<PopulationGroup> popGroups = pop.getPopulationGroup(); + model.addElement(new GenericCell(" ", null, null)); + for (PopulationGroup pg : popGroups){ + model.addElement(new GenericCell(pop.getName() + " - " + pg.getId(), pg, PopulationGroup.class)); + } + fieldPopulationGroupPopulationGroup.setModel(model); + } + protected void populationGroupChanged(){ + if (fieldPopulationGroupPopulationGroup.getSelectedItem() != null){ + GenericCell cell = (GenericCell) fieldPopulationGroupPopulationGroup.getSelectedItem(); + if (cell.getValue() != null){ + jaxx.runtime.Util.assignment(populationGroup = (PopulationGroup)cell.getValue(), "populationGroup", fr.ifremer.isisfish.ui.input.PopulationGroupUI.this); + refresh(); + } + } + } + protected void reproductionRateChanged(){ + populationGroup.setReproductionRate(Double.parseDouble(fieldPopulationGroupReproductionRate.getText())); + } + protected void groupMinLengthChanged(){ + populationGroup.setMinLength(Double.parseDouble(fieldPopulationGroupMinLength.getText())); + } + protected void groupMaxLengthChanged(){ + populationGroup.setMaxLength(Double.parseDouble(fieldPopulationGroupMaxLength.getText())); + } + protected void groupCommentChanged(){ + populationGroup.setComment(fieldPopulationGroupComment.getText()); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Population"); + getParentContainer(InputUI.class).setTreeSelection(topia, Population.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Population"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + save.setEnabled(b); + } + ]]> + </script> <row> <cell fill='horizontal' anchor='east'> <JLabel text="isisfish.common.populationGroup"/> </cell> - <cell fill='horizontal' weightx='1.0'> - <JComboBox/> + <cell columns='2' fill='horizontal' weightx='1.0'> + <JComboBox id='fieldPopulationGroupPopulationGroup' onActionPerformed='populationGroupChanged()'/> <!-- Fixme : ComboBoxModel id="fieldPopulationGroupPopulationGroup" renderer="concat(population/name, ' - ', id)" origin="$PopulationGroup" firstNull="true" @@ -50,7 +137,7 @@ <cell fill='horizontal' anchor='east'> <JLabel text="isisfish.populationGroup.meanWeigth"/> </cell> - <cell fill='horizontal' weightx='1.0'> + <cell columns='2' fill='horizontal' weightx='1.0'> <JTextField id="fieldPopulationGroupMeanWeight"/> <!-- origin="$PopulationGroup/meanWeight" editable="false" @@ -61,7 +148,7 @@ <cell fill='horizontal' anchor='east'> <JLabel text="isisfish.populationGroup.price"/> </cell> - <cell fill='horizontal' weightx='1.0'> + <cell columns='2' fill='horizontal' weightx='1.0'> <JTextField id="fieldPopulationGroupPrice"/> <!-- origin="$PopulationGroup/price" editable="false" @@ -72,8 +159,8 @@ <cell fill='horizontal' anchor='east'> <JLabel text="isisfish.populationGroup.naturalDeathRate"/> </cell> - <cell fill='both' weightx='1.0' weighty='0.5'> - <JTable/> + <cell columns='2' fill='both' weightx='1.0' weighty='0.5'> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationGroupNaturalDeathRate'/> <!-- Fixme : matrixPanel <matrixPanel constraints='"fieldPopulationGroupNaturalDeathRate"' id="fieldPopulationGroupNaturalDeathRate" @@ -85,8 +172,8 @@ <cell fill='horizontal' anchor='east'> <JLabel text="isisfish.populationGroup.reproductionRate"/> </cell> - <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldPopulationGroupReproductionRate"/> + <cell columns='2' fill='horizontal' weightx='1.0'> + <JTextField id="fieldPopulationGroupReproductionRate" onKeyTyped='reproductionRateChanged()'/> <!-- origin="$PopulationGroup/reproductionRate" <DocumentEvents onModified="Update($fieldPopulationGroupReproductionRate/text)"/> @@ -97,7 +184,7 @@ <cell fill='horizontal' anchor='east'> <JLabel text="isisfish.populationGroup.age"/> </cell> - <cell fill='horizontal' weightx='1.0'> + <cell columns='2' fill='horizontal' weightx='1.0'> <JTextField id="fieldPopulationGroupAge"/> <!-- Fixme : DocumentEvents origin="$PopulationGroup/age" @@ -109,17 +196,20 @@ <cell fill='horizontal' anchor='east'> <JLabel text="isisfish.populationGroup.length"/> </cell> - <cell fill='both' weightx='1.0' weighty='0.5'> - <JTextField id="fieldPopulationGroupLength"/> + <cell fill='both' weightx='0.5'> + <JTextField id="fieldPopulationGroupMinLength" onKeyTyped='groupMinLengthChanged()'/> </cell> + <cell fill='both' weightx='0.5'> + <JTextField id="fieldPopulationGroupMaxLength" onKeyTyped='groupMaxLengthChanged()'/> + </cell> </row> <row> <cell fill='horizontal' anchor='east'> <JLabel text="isisfish.populationGroup.comments"/> </cell> - <cell fill='both' weightx='1.0' weighty='0.5'> + <cell columns='2' fill='both' weightx='1.0' weighty='0.5'> <JScrollPane> - <JTextArea id="fieldPopulationGroupComment"> + <JTextArea id="fieldPopulationGroupComment" onKeyTyped='groupCommentChanged()'> <!-- Fixme : DocumentEvents origin="$PopulationGroup/comment" <DocumentEvents onModified="Update($fieldPopulationGroupComment/text)"/> @@ -129,18 +219,18 @@ </cell> </row> <row> - <cell columns='2' fill='horizontal' weightx='1.0'> + <cell columns='3' fill='horizontal' weightx='1.0'> <Table> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("PopulationGroup", $PopulationGroup);refreshView($inputPopulationGroup)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("PopulationGroup", $PopulationGroup);refreshView($inputPopulationGroup)' Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -35,6 +35,87 @@ name="isisfish.populationMigrationEmigration.title" --> <Table> + <script><![CDATA[ + import fr.ifremer.isisfish.entities.Population; + import fr.ifremer.isisfish.entities.PopulationSeasonInfo; + import org.codelutin.math.matrix.MatrixND; + import org.codelutin.math.matrix.gui.MatrixPanelEvent; + import org.codelutin.math.matrix.gui.MatrixPanelListener; + import fr.ifremer.isisfish.entities.Population; + import fr.ifremer.isisfish.entities.PopulationGroup; + import fr.ifremer.isisfish.entities.PopulationSeasonInfo; + import fr.ifremer.isisfish.entities.Zone; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + + + protected Population pop; + protected PopulationSeasonInfo popInfo = null; + + public PopulationMigrationEmigrationUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(PopulationSeasonInfo pi){ + popInfo = pi; + pop = getContextValue(InputAction.class).getPopulation(); + if (pop != null){ + setFieldPopulationMigrationMigrationGroupChooserModel(); + setFieldPopulationMigrationMigrationDepartureZoneChooserModel(); + populationMigrationEmigrationTable.setMatrix(popInfo.getEmigrationMatrix()); + populationMigrationEmigrationTable.addMatrixListener(new MatrixPanelListener() { + + @Override + public void matrixChanged(MatrixPanelEvent arg0) { + popInfo.setMigrationMatrix(populationMigrationEmigrationTable.getMatrix()); + } + }); + } + } + protected void setFieldPopulationMigrationMigrationGroupChooserModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<PopulationGroup> values = pop.getPopulationGroup(); + for (PopulationGroup pg : values){ + model.addElement(pg); + } + fieldPopulationMigrationEmigrationGroupChooser.setModel(model); + } + protected void setFieldPopulationMigrationMigrationDepartureZoneChooserModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<Zone> values = pop.getPopulationZone(); + for (Zone z : values){ + model.addElement(z); + } + fieldPopulationMigrationEmigrationGroupChooser.setModel(model); + } + protected void add(){ + getContextValue(InputAction.class).addEmigration( + popInfo, + (PopulationGroup) fieldPopulationMigrationEmigrationGroupChooser.getSelectedItem(), + (Zone) fieldPopulationMigrationEmigrationDepartureZoneChooser.getSelectedItem(), + Double.parseDouble(fieldPopulationMigrationEmigrationCoefficient.getText())); + refresh(popInfo); + } + protected void remove(){ + + log.debug("removeEmigration called"); + try { + int row = populationMigrationEmigrationTable.getTable().getSelectedRow(); + Object group = populationMigrationEmigrationTable.getTable().getValueAt(row, 0); + Object departure = populationMigrationEmigrationTable.getTable().getValueAt(row, 1); + + MatrixND mat = popInfo.getEmigrationMatrix().copy(); + mat.setValue(group, departure, 0); + popInfo.setEmigrationMatrix(mat); + + }catch(Exception eee){ + log.error("Can't remove migration", eee); +// return new OutputView("Error.xml", "error", eee.getMessage()); + } + refresh(popInfo); + } + ]]> + </script> <row> <cell> <JLabel text="isisfish.common.populationGroup"/> @@ -62,7 +143,7 @@ </row> <row columns='4'> <cell fill='horizontal' weightx='1.0'> - <JButton id="buttonPopulationMigrationEmigrationAdd" text="isisfish.common.add"/> + <JButton id="add" text="isisfish.common.add" onActionPerformed='add()'/> <!-- actionCommand="input.InputPopulation.addEmigration($fieldPopulationMigrationEmigrationGroupChooser/selectedItem, $fieldPopulationMigrationEmigrationDepartureZoneChooser/selectedItem, $fieldPopulationMigrationEmigrationCoefficient/text)" --> @@ -70,7 +151,7 @@ </row> <row columns='4'> <cell fill='both' weightx='1.0' weighty='1.0'> - <JTable/> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='populationMigrationEmigrationTable'/> <!-- Fixme : MatrixPanel <MatrixPanel constraints="PopulationMigrationEmigrationTable" id="PopulationMigrationEmigrationTable" @@ -82,7 +163,7 @@ </row> <row> <cell columns='4' fill='horizontal' weightx='1.0'> - <JButton id="buttonPopulationMigrationEmigrationRemove" text="isisfish.common.remove"/> + <JButton id="remove" text="isisfish.common.remove" onActionPerformed='remove()'/> <!-- actionCommand="input.InputPopulation.removeEmigration($PopulationMigrationEmigrationTable)" --> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -30,18 +30,23 @@ * by : $Author: sletellier $ */ --> -<JPanel name="isisfish.populationMigrationEquation.title" constraints='"inputPopulationMigrationEquation"' - layout='{new XMLGridLayout("fr/ifremer/isisfish/ui/input/PopulationMigrationEquation.xgl")}'> - <script> - import org.codelutin.widget.XMLGridLayout; +<JPanel name="isisfish.populationMigrationEquation.title"> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.PopulationSeasonInfo; + public PopulationMigrationEquationUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(PopulationSeasonInfo popInfo){ + } + ]]> </script> <!-- | Migration + --> - <JLabel constraints='"labelPopulationMigrationEquationMigration"' - text="isisfish.common.migration"/> - <JComboBox constraints='"fieldPopulationMigrationEquationMigration"' - id="fieldPopulationMigrationEquationMigration"> + <JLabel text="isisfish.common.migration"/> + <JComboBox id="fieldPopulationMigrationEquationMigration"> <!-- Fixme : ComboBoxModel origin="$PopulationInfoSaison/migrationEquation" renderer="name" firstNull="true" @@ -50,19 +55,18 @@ --> </JComboBox> - <JButton constraints='"buttonPopulationMigrationEquationMigrationSaveAsModel"' - text="isisfish.common.saveModel"/> + <JButton text="isisfish.common.saveModel"/> <!-- actionCommand='input.Input.saveEquationAsModel($PopulationInfoSaison/migrationEquation);refreshView($fieldPopulationMigrationEquationMigration)' --> - <JButton constraints='"buttonPopulationMigrationEquationMigrationEquationEditor"' text="isisfish.common.openEditor"/> + <JButton text="isisfish.common.openEditor"/> <!-- actionCommand='input.Input.openEditor($PopulationSeasonInfo/migrationEquation/category,$PopulationSeasonInfo/migrationEquation/name,$PopulationSeasonInfo/migrationEquation/javaInterface,$PopulationSeasonInfo/migrationEquation/content,$fieldScriptPopulationMigrationEquationMigration)' --> - <JScrollPane constraints='"fieldScriptPopulationMigrationEquationMigration"'> + <JScrollPane> <!-- Fixme : editor, DocumentEvents <editor askIfNotSaved="false" id="fieldScriptPopulationMigrationEquationMigration" origin="org.codelutin.util.FileUtil.getTempFile($PopulationSeasonInfo/migrationEquation/content, '.java')"> @@ -77,9 +81,8 @@ <!-- | Emigration + --> - <JLabel constraints='"labelPopulationMigrationEquationEmigration"' text="isisfish.common.emigration"/> - <JComboBox constraints='"fieldPopulationMigrationEquationEmigration"' - id="fieldPopulationMigrationEquationEmigration"> + <JLabel text="isisfish.common.emigration"/> + <JComboBox id="fieldPopulationMigrationEquationEmigration"> <!-- Fixme : ComboBoxModel origin="$PopulationInfoSaison/emigrationEquation" renderer="name" firstNull="true" @@ -88,19 +91,18 @@ --> </JComboBox> - <JButton constraints='"buttonPopulationMigrationEquationEmigrationSaveAsModel"' - text="isisfish.common.saveModel"/> + <JButton text="isisfish.common.saveModel"/> <!-- actionCommand='input.Input.saveEquationAsModel($PopulationInfoSaison/emigrationEquation);refreshView($fieldPopulationMigrationEquationEmigration)' --> - <JButton constraints='"buttonPopulationMigrationEquationEmigrationEquationEditor"' text="isisfish.common.openEditor"/> + <JButton text="isisfish.common.openEditor"/> <!-- actionCommand='input.Input.openEditor($PopulationSeasonInfo/emigrationEquation/category,$PopulationSeasonInfo/emigrationEquation/name,$PopulationSeasonInfo/emigrationEquation/javaInterface,$PopulationSeasonInfo/emigrationEquation/content,$fieldScriptPopulationMigrationEquationEmigration)' --> - <JScrollPane constraints='"fieldScriptPopulationMigrationEquationEmigration"'> + <JScrollPane> <!-- Fixme : editor, DocumentEvents <editor askIfNotSaved="false" id="fieldScriptPopulationMigrationEquationEmigration" origin="org.codelutin.util.FileUtil.getTempFile($PopulationSeasonInfo/emigrationEquation/content, '.java')"> @@ -115,10 +117,8 @@ <!-- | Immigration + --> - <JLabel constraints='"labelPopulationMigrationEquationImmigration"' - text="isisfish.common.immigration"/> - <JComboBox constraints='"fieldPopulationMigrationEquationImmigration"' - id="fieldPopulationMigrationEquationImmigration"> + <JLabel text="isisfish.common.immigration"/> + <JComboBox id="fieldPopulationMigrationEquationImmigration"> <!--Fixme : ComboBoxModel origin="$PopulationInfoSaison/immigrationEquation" renderer="name" firstNull="true" @@ -127,18 +127,17 @@ --> </JComboBox> - <JButton constraints='"buttonPopulationMigrationEquationImmigrationSaveAsModel"' - text="isisfish.common.saveModel"/> + <JButton text="isisfish.common.saveModel"/> <!-- actionCommand='input.Input.saveEquationAsModel($PopulationInfoSaison/immigrationEquation);refreshView($fieldPopulationMigrationEquationImmigration)' --> - <JButton constraints='"buttonPopulationMigrationEquationImmigrationEquationEditor"' text="isisfish.common.openEditor"/> + <JButton text="isisfish.common.openEditor"/> <!-- actionCommand='input.Input.openEditor($PopulationSeasonInfo/immigrationEquation/category,$PopulationSeasonInfo/immigrationEquation/name,$PopulationSeasonInfo/immigrationEquation/javaInterface,$PopulationSeasonInfo/immigrationEquation/content,$fieldScriptPopulationMigrationEquationImmigration)' --> - <JScrollPane constraints='"fieldScriptPopulationMigrationEquationImmigration"'> + <JScrollPane> <!-- Fixme : editor, DocumentEvents <editor askIfNotSaved="false" id="fieldScriptPopulationMigrationEquationImmigration" origin="org.codelutin.util.FileUtil.getTempFile($PopulationSeasonInfo/immigrationEquation/content, '.java')"> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -34,6 +34,76 @@ name="isisfish.populationMigrationImmigration.title" --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.Population; + import fr.ifremer.isisfish.entities.PopulationGroup; + import fr.ifremer.isisfish.entities.PopulationSeasonInfo; + import fr.ifremer.isisfish.entities.Zone; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + import org.codelutin.math.matrix.MatrixND; + import org.codelutin.math.matrix.gui.MatrixPanelEvent; + import org.codelutin.math.matrix.gui.MatrixPanelListener; + + protected PopulationSeasonInfo popInfo = null; + protected Population pop = null; + public PopulationMigrationImmigrationUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(PopulationSeasonInfo pi){ + popInfo = pi; + pop = getContextValue(InputAction.class).getPopulation(); + if (pop != null){ + setFieldPopulationMigrationMigrationGroupChooserModel(); + setFieldPopulationMigrationMigrationArrivalZoneChooserModel(); + populationMigrationImmigrationTable.setMatrix(popInfo.getMigrationMatrix()); + populationMigrationImmigrationTable.addMatrixListener(new MatrixPanelListener() { + + @Override + public void matrixChanged(MatrixPanelEvent arg0) { + popInfo.setImmigrationMatrix(populationMigrationImmigrationTable.getMatrix()); + } + }); + } + } + protected void setFieldPopulationMigrationMigrationGroupChooserModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<PopulationGroup> values = pop.getPopulationGroup(); + for (PopulationGroup pg : values){ + model.addElement(pg); + } + fieldPopulationMigrationImmigrationArrivalZoneChooser.setModel(model); + } + protected void setFieldPopulationMigrationMigrationArrivalZoneChooserModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<Zone> values = pop.getPopulationZone(); + for (Zone z : values){ + model.addElement(z); + } + fieldPopulationMigrationImmigrationArrivalZoneChooser.setModel(model); + } + protected void add(){ + getContextValue(InputAction.class).addImmigration(popInfo, + (PopulationGroup) fieldPopulationMigrationImmigrationArrivalZoneChooser.getSelectedItem(), + (Zone) fieldPopulationMigrationImmigrationArrivalZoneChooser.getSelectedItem(), + Double.parseDouble(fieldPopulationMigrationImmigrationCoefficient.getText())); + refresh(popInfo); + } + protected void remove(){ + int row = populationMigrationImmigrationTable.getTable().getSelectedRow(); + Object group = populationMigrationImmigrationTable.getTable().getValueAt(row, 0); + Object departure = populationMigrationImmigrationTable.getTable().getValueAt(row, 1); + Object arrival = populationMigrationImmigrationTable.getTable().getValueAt(row, 2); + + MatrixND mat = popInfo.getImmigrationMatrix().copy(); + mat.setValue(group, departure, arrival, 0); + popInfo.setImmigrationMatrix(mat); + refresh(popInfo); + } + ]]> + </script> <row> <cell> <JLabel text="isisfish.common.populationGroup"/> @@ -61,7 +131,7 @@ </row> <row columns='4'> <cell fill='horizontal' weightx='1.0'> - <JButton id="buttonPopulationMigrationImmigrationAdd" text="isisfish.common.add"/> + <JButton id="buttonPopulationMigrationImmigrationAdd" text="isisfish.common.add" onActionPerformed='add()'/> <!-- actionCommand="input.InputPopulation.addImmigration($fieldPopulationMigrationImmigrationGroupChooser/selectedItem, $fieldPopulationMigrationImmigrationArrivalZoneChooser/selectedItem, $fieldPopulationMigrationImmigrationCoefficient/text)" --> @@ -69,7 +139,7 @@ </row> <row columns='4'> <cell fill='both' weightx='1.0' weighty='1.0'> - <JTable/> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='populationMigrationImmigrationTable'/> <!-- Fixme : MatrixPanel <MatrixPanel constraints="PopulationMigrationImmigrationTable" id="PopulationMigrationImmigrationTable" @@ -81,7 +151,7 @@ </row> <row> <cell columns='4' fill='horizontal' weightx='1.0'> - <JButton id="buttonPopulationImmigrationMigrationRemove" text="isisfish.common.remove"/> + <JButton id="buttonPopulationImmigrationMigrationRemove" text="isisfish.common.remove" onActionPerformed='remove()'/> <!-- actionCommand="input.InputPopulation.removeImmigration($PopulationMigrationImmigrationTable)" --> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationMigrationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationMigrationUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationMigrationUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,6 +32,87 @@ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.PopulationSeasonInfo; + import fr.ifremer.isisfish.entities.Population; + import fr.ifremer.isisfish.entities.PopulationGroup; + import fr.ifremer.isisfish.entities.PopulationSeasonInfo; + import fr.ifremer.isisfish.entities.Zone; + import org.codelutin.math.matrix.MatrixND; + import org.codelutin.math.matrix.gui.MatrixPanelEvent; + import org.codelutin.math.matrix.gui.MatrixPanelListener; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + + protected PopulationSeasonInfo popInfo = null; + protected Population pop = null; + public PopulationMigrationMigrationUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(PopulationSeasonInfo pi){ + popInfo = pi; + pop = getContextValue(InputAction.class).getPopulation(); + if (pop != null){ + setFieldPopulationMigrationMigrationGroupChooserModel(); + setFieldPopulationMigrationMigrationDepartureZoneChooserModel(); + setFieldPopulationMigrationMigrationArrivalZoneChooserModel(); + populationMigrationMigrationTable.setMatrix(popInfo.getMigrationMatrix()); + populationMigrationMigrationTable.addMatrixListener(new MatrixPanelListener() { + + @Override + public void matrixChanged(MatrixPanelEvent arg0) { + popInfo.setMigrationMatrix(populationMigrationMigrationTable.getMatrix()); + } + }); + } + } + protected void setFieldPopulationMigrationMigrationGroupChooserModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<PopulationGroup> values = pop.getPopulationGroup(); + for (PopulationGroup pg : values){ + model.addElement(pg); + } + fieldPopulationMigrationMigrationGroupChooser.setModel(model); + } + protected void setFieldPopulationMigrationMigrationDepartureZoneChooserModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<Zone> values = pop.getPopulationZone(); + for (Zone z : values){ + model.addElement(z); + } + fieldPopulationMigrationMigrationDepartureZoneChooser.setModel(model); + } + protected void setFieldPopulationMigrationMigrationArrivalZoneChooserModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<Zone> values = pop.getPopulationZone(); + for (Zone z : values){ + model.addElement(z); + } + fieldPopulationMigrationMigrationArrivalZoneChooser.setModel(model); + } + protected void add(){ + getContextValue(InputAction.class).addMigration(popInfo, + (PopulationGroup) fieldPopulationMigrationMigrationGroupChooser.getSelectedItem(), + (Zone) fieldPopulationMigrationMigrationDepartureZoneChooser.getSelectedItem(), + (Zone) fieldPopulationMigrationMigrationArrivalZoneChooser.getSelectedItem(), + Double.parseDouble(fieldPopulationMigrationMigrationCoefficient.getText())); + refresh(popInfo); + } + protected void remove(){ + int row = populationMigrationMigrationTable.getTable().getSelectedRow(); + Object group = populationMigrationMigrationTable.getTable().getValueAt(row, 0); + Object departure = populationMigrationMigrationTable.getTable().getValueAt(row, 1); + Object arrival = populationMigrationMigrationTable.getTable().getValueAt(row, 2); + + MatrixND mat = popInfo.getMigrationMatrix().copy(); + mat.setValue(group, departure, arrival, 0); + popInfo.setMigrationMatrix(mat); + refresh(popInfo); + } + ]]> + </script> <row> <cell> <JLabel text="isisfish.common.populationGroup"/> @@ -62,7 +143,7 @@ </row> <row columns='4'> <cell fill='horizontal' weightx='1.0'> - <JButton id="buttonPopulationMigrationMigrationAdd" text="isisfish.common.add"/> + <JButton id="buttonPopulationMigrationMigrationAdd" text="isisfish.common.add" onActionPerformed='add()'/> <!-- actionCommand="input.InputPopulation.addMigration($fieldPopulationMigrationMigrationGroupChooser/selectedItem, $fieldPopulationMigrationMigrationDepartureZoneChooser/selectedItem, $fieldPopulationMigrationMigrationArrivalZoneChooser/selectedItem, $fieldPopulationMigrationMigrationCoefficient/text)" --> @@ -70,7 +151,7 @@ </row> <row columns='4'> <cell fill='both' weightx='1.0' weighty='1.0'> - <JTable/> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='populationMigrationMigrationTable'/> <!-- Fixme : MatrixPanel @@ -83,8 +164,7 @@ </row> <row> <cell columns='4' fill='horizontal' weightx='1.0'> - <JButton id="buttonPopulationMigrationMigrationRemove" - text="isisfish.common.remove"/> + <JButton id="buttonPopulationMigrationMigrationRemove" text="isisfish.common.remove" onActionPerformed='remove()'/> <!-- actionCommand="input.InputPopulation.removeMigration($PopulationMigrationMigrationTable)" --> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,12 +32,102 @@ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.PopulationSeasonInfo; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import fr.ifremer.isisfish.entities.Population; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + + protected Population pop; + protected boolean changed; +// protected PopulationSeasonInfo populationSeasonInfoSelected = null; + public PopulationMigrationUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(){ + pop = getContextValue(InputAction.class).getPopulation(); + setFieldPopulationMigrationSeasonChooserModel(); + PopulationSeasonInfo selected = getPopulationSeasonInfo(); + if (selected != null){ + fieldUseEquationMigration.setSelected(selected.getUseEquationMigration()); + useEquationChanged(); + populationMigrationEquationUI.refresh(selected); + populationMigrationMigrationUI.refresh(selected); + populationMigrationImmigrationUI.refresh(selected); + populationMigrationEmigrationUI.refresh(selected); + } + fieldPopulationMigrationComment.setText(pop.getMigrationComment()); + } + protected void setFieldPopulationMigrationSeasonChooserModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + for (PopulationSeasonInfo psi : pop.getPopulationSeasonInfo()){ + model.addElement(new GenericCell(psi.getFirstMonth() + " - " + psi.getLastMonth(), psi, PopulationSeasonInfo.class)); + } + fieldPopulationMigrationSeasonChooser.setModel(model); + } + protected PopulationSeasonInfo getPopulationSeasonInfo(){ + PopulationSeasonInfo result = null; + Object selected = fieldPopulationMigrationSeasonChooser.getSelectedItem(); + if (selected != null){ + GenericCell cell = (GenericCell)selected; + if (cell.getValue() != null){ + result = (PopulationSeasonInfo)cell.getValue(); + } + } + return result; + } + protected void seasonChooserChanged(){ +// populationSeasonInfoSelected = getPopulationSeasonInfo(); + refresh(); + } + protected void useEquationChanged(){ + if (fieldUseEquationMigration.isSelected()){ + ((CardLayout) hidablePanel.getLayout()).show(hidablePanel, "fieldUseEquation"); + } + else{ + ((CardLayout) hidablePanel.getLayout()).show(hidablePanel, "fieldUseMatrix"); + } + + } + protected void commentChanged(){ + pop.setMigrationComment(fieldPopulationMigrationComment.getText()); + valueChanged(true); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Population"); + getParentContainer(InputUI.class).setTreeSelection(topia, Population.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Population"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + cancel.setEnabled(b); + save.setEnabled(b); + } + ]]> + </script> <row> <cell anchor='east'> <JLabel text="isisfish.populationMigration.selectSeason"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldPopulationMigrationSeasonChooser"/> + <JComboBox id="fieldPopulationMigrationSeasonChooser" onActionPerformed='seasonChooserChanged()'/> <!-- firstNull="true" origin="getPopulationSeasonInfo($Population)" @@ -47,7 +137,7 @@ </row> <row> <cell columns='2' anchor='west'> - <JCheckBox id="fieldUseEquationMigration" text="isisfish.populationMigration.useEquation"> + <JCheckBox id="fieldUseEquationMigration" text="isisfish.populationMigration.useEquation" onActionPerformed='useEquationChanged()'> <!-- Fixme : ItemEvents origin="$PopulationSeasonInfo/useEquationMigration" <ItemEvents onStateChanged="Update($fieldUseEquationMigration/selected, $PopulationSeasonInfo/useEquationMigration, refreshView($hideablePanel))"/> @@ -57,7 +147,14 @@ </row> <row> <cell columns='2' fill='both' weightx='1.0' weighty='0.7'> - <JPanel id="hideablePanel"> + <JPanel id="hidablePanel" layout='{new CardLayout()}'> + <PopulationMigrationEquationUI id='populationMigrationEquationUI' constraints='"fieldUseEquation"' constructorParams='getContextValue(InputAction.class)'/> + <JTabbedPane id="fieldUseMatrix" constraints='"fieldUseMatrix"'> + <tab title='{_("isisfish.metier.title")}'><PopulationMigrationMigrationUI id="populationMigrationMigrationUI" constructorParams='getContextValue(InputAction.class)'/></tab> + <tab title='{_("isisfish.metierSeasonInfoZone.title")}'><PopulationMigrationImmigrationUI id="populationMigrationImmigrationUI" constructorParams='getContextValue(InputAction.class)'/></tab> + <tab title='{_("isisfish.metierSeasonInfoSpecies.title")}'><PopulationMigrationEmigrationUI id="populationMigrationEmigrationUI" constructorParams='getContextValue(InputAction.class)'/></tab> + </JTabbedPane> + </JPanel> <!-- <hidablePanel constraints="fieldUseEquation" layout="BorderLayout" origin="getUseEquationMigration($PopulationSeasonInfo)"> @@ -73,7 +170,6 @@ </tabbedpane> </hidablePanel> --> - </JPanel> </cell> </row> <row> @@ -82,7 +178,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='0.3'> <JScrollPane> - <JTextArea id="fieldPopulationMigrationComment"> + <JTextArea id="fieldPopulationMigrationComment" onKeyTyped='commentChanged()'> <!-- Fixme : DocumentEvents origin="$Population/migrationComment" <DocumentEvents onModified="Update($fieldPopulationMigrationComment/text)"/> @@ -96,14 +192,14 @@ <Table> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand="input.Input.save('PopulationSeasonInfo', $PopulationSeasonInfo);refreshView($inputMigration)" --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand="input.Input.cancel('PopulationSeasonInfo', $PopulationSeasonInfo);refreshView($inputMigration)" Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationOneEquationUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationOneEquationUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationOneEquationUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,12 +32,91 @@ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import fr.ifremer.isisfish.entities.Formule; + import fr.ifremer.isisfish.entities.Population; + import fr.ifremer.isisfish.entities.Equation; + import java.util.logging.Level; + import java.util.logging.Logger; + + protected Population pop = null; + protected boolean changed = false; + protected Class clazz = null; + protected String nameEquation = null; + public PopulationOneEquationUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(String lblText, Formule f, String name, Class c){ + lbl.setText(lblText); + clazz = c; + try { + editor.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); + } catch (IOException ex) { + Logger.getLogger(PopulationOneEquationUI.class.getName()).log(Level.SEVERE, null, ex); + } + setComboModel(f, name); + } + protected void setComboModel(Formule f, String name){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + GenericCell cellSelected = null; + for (Formule formule : getContextValue(InputAction.class).getFormules(name)){ + GenericCell cell = new GenericCell(formule.getName(), formule, Formule.class); + model.addElement(cell); + if (formule.equals(f)){ + cellSelected = cell; + } + } + combo.setModel(model); + if (cellSelected != null){ + combo.setSelectedItem(cellSelected); + comboChanged(); + } + } + protected void comboChanged(){ + Equation selected = getEquation(); + if (selected != null){ + editor.setText(selected.getContent()); + } + valueChanged(true); + } + protected Equation getEquation(){ + Equation result = null; + Object selected = combo.getSelectedItem(); + if (selected != null){ + GenericCell cell = (GenericCell) selected; + if (cell.getValue() != null){ + result = (Equation)cell.getValue(); + } + } + return result; + } + protected void valueChanged(boolean b){ + changed = b; + getParentContainer(PopulationEquationUI.class).valueChanged(true); + } + protected void saveModel(){ + Equation e = getEquation(); + if (e != null){ + getContextValue(InputAction.class).saveAsModel(e.getCategory(), e.getLanguage(), e.getContent()); + } + } + protected void openEditor(){ + Equation e = getEquation(); + if (e != null){ + getContextValue(InputAction.class).openEditor(e.getCategory(), e.getName(), clazz, e.getContent(), editor); + } + } + ]]> + </script> <row> <cell fill='horizontal' anchor='east'> - <JLabel text="isisfish.populationEquation.naturalDeathRate"/> + <JLabel id='lbl'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldPopulationNaturalDeathRate"/> + <JComboBox id="combo" onActionPerformed='comboChanged()'/> <!-- Fixme : ComboBoxModel origin="$Population/naturalDeathRate" renderer="name" firstNull="true" actionCommand="update($fieldPopulationNaturalDeathRate/selectedItem/content, $fieldScriptPopulationNaturalDeathRate/text)" @@ -50,7 +129,7 @@ <Table> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.saveModel"/> + <JButton text="isisfish.common.saveModel" onActionPerformed='saveModel()'/> <!-- actionCommand='input.Input.saveEquationAsModel($Population/naturalDeathRate);refreshView($fieldPopulationNaturalDeathRate)' --> @@ -58,7 +137,7 @@ </row> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.openEditor"/> + <JButton text="isisfish.common.openEditor" onActionPerformed='openEditor()'/> <!-- actionCommand='input.Input.openEditor($Population/naturalDeathRate/category,$Population/naturalDeathRate/name,$Population/naturalDeathRate/javaInterface,$Population/naturalDeathRate/content,$fieldScriptPopulationNaturalDeathRate)' --> @@ -66,7 +145,7 @@ </row> <row> <cell fill='horizontal' weighty='1.0'> - + <JPanel/> <!-- Fixme : editor <editor constraints='"fieldScriptPopulationNaturalDeathRate"' askIfNotSaved="false" id="fieldScriptPopulationNaturalDeathRate" @@ -77,23 +156,23 @@ </DocumentEvents> </editor> --> - <JPanel/> + </cell> </row> </Table> </cell> + <cell fill='both' weightx='1.0' weighty='1.0'> + <JScrollPane> + <org.codelutin.widget.editor.Editor id='editor' askIfNotSaved="false" onKeyTyped='valueChanged(true)'/> + </JScrollPane> + </cell> </row> - <row> + <!--row> <cell fill='horizontal' anchor='east'> <JLabel text="isisfish.populationEquation.meanWeight"/> </cell> <cell fill='horizontal' weightx='1.0'> <JComboBox id="fieldPopulationMeanWeight"/> -<!-- Fixme : ComboBoxModel - origin="$Population/meanWeight" renderer="name" firstNull="true" - actionCommand="update($fieldPopulationMeanWeight/selectedItem/content, $fieldScriptPopulationMeanWeight/text) - <ComboBoxModel origin='fr.ifremer.isisfish.datastore.FormuleStorage.getFormules($TopiaContext, "MeanWeight")'/> ---> </cell> - </row> + </row--> </Table> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -31,6 +31,120 @@ */ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.Equation; + import fr.ifremer.isisfish.entities.Formule; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import fr.ifremer.isisfish.entities.Population; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import org.codelutin.topia.persistence.TopiaEntity; + import java.util.logging.Level; + import java.util.logging.Logger; + + protected Population pop = null; + protected boolean changed = false; + public PopulationRecruitmentUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(){ + jaxx.runtime.Util.assignment(pop = getContextValue(InputAction.class).getPopulation(), "pop", fr.ifremer.isisfish.ui.input.PopulationRecruitmentUI.this); + try { + editor.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); + } catch (IOException ex) { + Logger.getLogger(PopulationRecruitmentUI.class.getName()).log(Level.SEVERE, null, ex); + } + if (pop != null){ + setFieldPopulationReproductionEquationModel(); + fieldPopulationMonthGapBetweenReproRecrutement.setText(pop.getMonthGapBetweenReproRecrutement() + ""); + fieldPopulationRecruitmentComment.setText(pop.getRecruitmentComment()); + valueChanged(false); + } + } + protected void setFieldPopulationReproductionEquationModel() { + DefaultComboBoxModel model = new DefaultComboBoxModel(); + Equation selected = pop.getReproductionEquation(); + GenericCell cellSelected = null; + java.util.List<Formule> formules = getContextValue(InputAction.class).getFormules("Reproduction"); + for (Formule f : formules){ + GenericCell cell = new GenericCell(f.getName(), f, Formule.class); + model.addElement(cell); + if(f.equals((Formule)selected)){ + cellSelected = cell; + } + } + fieldPopulationReproductionEquation.setModel(model); + if (cellSelected != null){ + fieldPopulationReproductionEquation.setSelectedItem(cellSelected); + } + } + protected void equationChanged(){ + Equation e = getEquation(); + if (e != null){ + editor.setText(e.getContent()); + valueChanged(true); + } + } + protected Equation getEquation(){ + Equation result = null; + Object o = fieldPopulationReproductionEquation.getSelectedItem(); + if (o != null){ + GenericCell c = (GenericCell)o; + if (c.getValue() != null){ + result = (Equation)c.getValue(); + } + } + return result; + } + protected void saveModel(){ + Equation e = getEquation(); + if (e != null){ + getContextValue(InputAction.class).saveAsModel(e.getCategory(), e.getLanguage(), e.getContent()); + } + } + protected void openEditor(){ + Equation e = getEquation(); + if (e != null){ + getContextValue(InputAction.class).openEditor(e.getCategory(), e.getName(), fr.ifremer.isisfish.equation.PopulationGrowth.class, e.getContent(), editor); + } + } + protected void monthGapChanged(){ + pop.setMonthGapBetweenReproRecrutement(Integer.parseInt(fieldPopulationMonthGapBetweenReproRecrutement.getText())); + valueChanged(true); + } + protected void commentChanged(){ + pop.setRecruitmentComment(fieldPopulationRecruitmentComment.getText()); + valueChanged(true); + } + protected void create(){ + getContextValue(InputAction.class).createRecruitmentDistribution(); + refresh(); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Population"); + getParentContainer(InputUI.class).setTreeSelection(topia, Population.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Metier"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + cancel.setEnabled(b); + save.setEnabled(b); + } + ]]> + </script> <row> <cell fill='both' weightx='1.0' weighty='1.0'> <Table> @@ -39,7 +153,7 @@ <JLabel text="isisfish.populationRecruitment.reproductionEquation"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldPopulationReproductionEquation"/> + <JComboBox id="fieldPopulationReproductionEquation" onActionPerformed='equationChanged()'/> <!-- Fixme : ComboBoxModel firstNull="true" origin="$Population/reproductionEquation" renderer="name" @@ -53,7 +167,7 @@ <Table> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.saveModel"/> + <JButton text="isisfish.common.saveModel" onActionPerformed='saveModel()'/> <!-- actionCommand="input.Input.saveEquationAsModel($Population/reproductionEquation);refreshView($fieldPopulationReproductionEquation)" --> @@ -61,7 +175,7 @@ </row> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.openEditor"/> + <JButton text="isisfish.common.openEditor" onActionPerformed='openEditor()'/> <!-- Fixme : editor, DocumentEvents actionCommand='input.Input.openEditor($Population/reproductionEquation/category,$Population/reproductionEquation/name,$Population/reproductionEquation/javaInterface,$Population/reproductionEquation/content,$fieldScriptPopulationReproductionEquation)' --> @@ -74,8 +188,10 @@ </row> </Table> </cell> - <cell fill='both' weightx='1.0' weighty='1.0'> - <JTextArea/> + <cell fill='both' weightx='1.0' weighty='0.5'> + <JScrollPane> + <org.codelutin.widget.editor.Editor id='editor' askIfNotSaved="false"/> + </JScrollPane> <!-- <editor constraints="fieldScriptPopulationReproductionEquation" askIfNotSaved="false" id="fieldScriptPopulationReproductionEquation" origin="org.codelutin.util.FileUtil.getTempFile($Population/reproductionEquation/content, '.java')"> @@ -94,7 +210,7 @@ <JLabel text="Month Gap BetweenRepro Recruitment"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldPopulationMonthGapBetweenReproRecrutement"/> + <JTextField id="fieldPopulationMonthGapBetweenReproRecrutement" onKeyTyped='monthGapChanged()'/> </cell> </row> <row> @@ -116,7 +232,7 @@ <JPanel/> </cell> <cell fill='horizontal' weightx='1.0'> - <JButton id="buttonPopulationRecruitmentDistributionNew" text="isisfish.common.newMatrix"/> + <JButton id="create" text="isisfish.common.newMatrix" onActionPerformed='create()'/> <!-- actionCommand="input.InputPopulation.createRecruitmentDistribution($Population)" --> @@ -126,9 +242,9 @@ <cell anchor='east'> <JLabel text="isisfish.populationRecruitment.comments"/> </cell> - <cell fill='both' weightx='1.0'> + <cell fill='both' weightx='1.0' weighty='0.5'> <JScrollPane> - <JTextArea id="fieldPopulationRecruitmentComment"> + <JTextArea id="fieldPopulationRecruitmentComment" onKeyTyped='commentChanged()'> <!-- origin="$Population/recruitmentComment" <DocumentEvents onRemoveUpdate="Update($fieldPopulationRecruitmentComment/text)"/> @@ -145,14 +261,14 @@ <Table> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("Population", $Population);refreshView($inputPopulationRecruitment)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("Population", $Population);refreshView($inputPopulationRecruitment)' Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,6 +32,148 @@ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.PopulationSeasonInfo; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import fr.ifremer.isisfish.types.Month; + import fr.ifremer.isisfish.entities.Population; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.ui.widget.Interval; + import fr.ifremer.isisfish.ui.widget.IntervalPanel; + + protected Population pop = null; + protected boolean changed = false; + protected IntervalPanel ip = new IntervalPanel(); + fieldPopulationSeasonInterval.add(ip, BorderLayout.CENTER); + public PopulationSeasonsUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(){ + pop = getContextValue(InputAction.class).getPopulation(); + if (pop != null){ + setFieldPopulationSeasonInfoChooserModel(); + fieldPopulationSeasonComment.setText(pop.getSeasonsComment()); + // Model instanciation + Interval interval = new Interval(); + interval.setMin(0); + interval.setMax(11); + interval.setFirst(0); + interval.setLast(2); + ip.setModel(interval); + } + } + protected void setFieldPopulationSeasonInfoChooserModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<PopulationSeasonInfo> popSeasonInfo = pop.getPopulationSeasonInfo(); + for(PopulationSeasonInfo psi : popSeasonInfo){ + GenericCell cell = new GenericCell(psi.getFirstMonth().toString() + " - " + psi.getLastMonth().toString(),psi, PopulationSeasonInfo.class); + model.addElement(cell); + } + fieldPopulationSeasonInfoChooser.setModel(model); + } + protected PopulationSeasonInfo getPopulationSeasonInfo(){ + PopulationSeasonInfo result = null; + Object selected = fieldPopulationSeasonInfoChooser.getSelectedItem(); + if (selected != null){ + GenericCell cellSelected = (GenericCell) selected; + if (cellSelected.getValue() != null){ + result = (PopulationSeasonInfo) cellSelected.getValue(); + } + } + return result; + } + protected void infoChooserChanged(){ + PopulationSeasonInfo selected = getPopulationSeasonInfo(); + if (selected != null){ + fieldPopulationSeasonGroupChange.setSelected(selected.getGroupChange()); + fieldPopulationSeasonReproductionDistribution.setMatrix(selected.getLengthChangeMatrix()); + + + + Interval interval = new Interval(); + interval.setMin(0); + interval.setMax(11); + interval.setFirst(0); + interval.setLast(2); + ip.setModel(interval); + try { + log.debug("************** Interval ************"); + Month firstMonth = selected.getFirstMonth(); + + if (firstMonth != null) { + interval.setFirst(firstMonth.getMonthNumber()); + log.debug(" first : " + interval.getFirst()); + } else { + interval.setFirst(0); + } + + Month lastMonth = selected.getLastMonth(); + if (lastMonth != null) { + interval.setLast(lastMonth.getMonthNumber()); + log.debug(" last : " + interval.getLast()); + } else { + interval.setLast(3); + } + } catch (Exception e) { + log.error("Unexpected origin.", e); + // Only trace the error and go on. + } + ip.setLabelRenderer(Month.MONTH); + ip.setModel(interval); + valueChanged(false); + } + } + protected void groupChangedChanged(){ + PopulationSeasonInfo selected = getPopulationSeasonInfo(); + if (selected != null){ + selected.setGroupChange(fieldPopulationSeasonGroupChange.isSelected()); + } + } + protected void commentChanged(){ + if (pop != null){ + pop.setSeasonsComment(fieldPopulationSeasonComment.getText()); + } + } + protected void create(){ + TopiaEntity topia = getContextValue(InputAction.class).create("Metier"); + + getParentContainer(InputUI.class).setTreeModel(); + getParentContainer(InputUI.class).setTreeSelection(topia, Population.class); + + setInfoText(_("isisfish.message.creation.finished")); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Population"); + getParentContainer(InputUI.class).setTreeSelection(topia, Population.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Metier"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void remove(){ + setInfoText(getContextValue(InputAction.class).remove()); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + cancel.setEnabled(b); + save.setEnabled(b); + } + ]]> + </script> <row> <cell fill='both' weightx='1.0' weighty='1.0'> <Table> @@ -40,7 +182,7 @@ <JLabel text="isisfish.populationSeasons.selectSeason"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldPopulationSeasonInfoChooser"/> + <JComboBox id="fieldPopulationSeasonInfoChooser" onActionPerformed='infoChooserChanged()'/> <!-- Fixme : ComboBoxModel firstNull="true" origin="$PopulationSeasonInfo" renderer="concat(firstMonth, '-', lastMonth)" @@ -54,7 +196,7 @@ <JLabel text="isisfish.common.season"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JPanel/> + <JPanel id='fieldPopulationSeasonInterval' layout='{new BorderLayout()}'/> <!-- Fixme : SeasonIntervalPanel, hidablePanel <SeasonIntervalPanel constraints="fieldPopulationSeasonInterval" id="fieldPopulationSeasonInterval" origin="$PopulationSeasonInfo"> @@ -75,7 +217,7 @@ <JPanel/> </cell> <cell fill='horizontal' weightx='1.0'> - <JCheckBox id="fieldPopulationSeasonGroupChange" text="isisfish.populationSeasons.changeGroup"/> + <JCheckBox id="fieldPopulationSeasonGroupChange" text="isisfish.populationSeasons.changeGroup" onActionPerformed='groupChangedChanged()'/> <!-- <ItemEvents onStateChanged="Update($fieldPopulationSeasonGroupChange/selected)"/> --> @@ -86,7 +228,7 @@ <JLabel text="isisfish.populationSeasons.distributionSpawning"/> </cell> <cell fill='both' weightx='1.0'> - <JTable/> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationSeasonReproductionDistribution'/> <!-- <MatrixPanel id="fieldPopulationSeasonReproductionDistribution" origin="copy($PopulationSeasonInfo/reproductionDistribution)"> @@ -103,7 +245,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='1.0'> <JScrollPane> - <JTextArea id="fieldPopulationSeasonComment"> + <JTextArea id="fieldPopulationSeasonComment" onKeyTyped='commentChanged()'> <!-- Fixme : DocumentEvents origin="$Population/seasonsComment" <DocumentEvents onModified="Update($fieldPopulationSeasonComment/text)"/> @@ -120,14 +262,14 @@ <Table> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.new"/> + <JButton id='create' text="isisfish.common.new" onActionPerformed='create()'/> <!-- origin="$FisheryRegion" actionCommand='input.InputPopulation.createSeasonInfo($Population)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("PopulationSeasonInfo", $PopulationSeasonInfo);refreshView($inputPopulationSeasonInfo);refreshView($inputCapturability)' @@ -136,14 +278,14 @@ </row> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("PopulationSeasonInfo", $PopulationSeasonInfo);refreshView($inputPopulationSeasonInfo);refreshView($inputCapturability)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.remove"/> + <JButton id='remove' text="isisfish.common.remove" onActionPerformed='remove()'/> <!-- origin="$PopulationSeasonInfo" actionCommand="input.InputPopulation.removeSeasonInfo($Population, $PopulationSeasonInfo)" 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 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -36,33 +36,56 @@ + Population +--> <JPanel layout='{new BorderLayout()}'> + + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.Gear; + public PopulationUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(){ + populationBasicsUI.refresh(); + populationGroupUI.refresh(); + populationEquationUI.refresh(); + populationZoneUI.refresh(); + populationSeasonsUI.refresh(); + populationCapturabilityUI.refresh(); + populationRecruitementUI.refresh(); + populationMigrationUI.refresh(); + } + protected void goToGear(){ + getParentContainer(InputUI.class).setTreeSelection(null, Gear.class); + } + ]]> + </script> <JTabbedPane id="PopulationTab" name="Populations" constraints='BorderLayout.CENTER'> <tab title='{_("isisfish.populationBasics.title")}'> - <PopulationBasicsUI/> + <PopulationBasicsUI id='populationBasicsUI' constructorParams='getContextValue(InputAction.class)'/> </tab> <tab title='{_("isisfish.populationGroup.title")}'> - <PopulationGroupUI/> + <PopulationGroupUI id='populationGroupUI' constructorParams='getContextValue(InputAction.class)'/> </tab> <tab title='{_("isisfish.populationEquation.title")}'> - <PopulationEquationUI/> + <PopulationEquationUI id='populationEquationUI' constructorParams='getContextValue(InputAction.class)'/> </tab> <tab title='{_("isisfish.populationZones.title")}'> - <PopulationZonesUI/> + <PopulationZonesUI id='populationZoneUI' constructorParams='getContextValue(InputAction.class)'/> </tab> <tab title='{_("isisfish.populationSeasons.title")}'> - <PopulationSeasonsUI/> + <PopulationSeasonsUI id='populationSeasonsUI' constructorParams='getContextValue(InputAction.class)'/> </tab> <tab title='{_("isisfish.populationCapturability.title")}'> - <PopulationCapturabilityUI/> + <PopulationCapturabilityUI id='populationCapturabilityUI' constructorParams='getContextValue(InputAction.class)'/> </tab> <tab title='{_("isisfish.populationRecruitment.title")}'> - <PopulationRecruitmentUI/> + <PopulationRecruitmentUI id='populationRecruitementUI' constructorParams='getContextValue(InputAction.class)'/> </tab> <tab title='{_("isisfish.populationMigration.title")}'> - <PopulationMigrationUI/> + <PopulationMigrationUI id='populationMigrationUI' constructorParams='getContextValue(InputAction.class)'/> </tab> </JTabbedPane> - <JButton text="isisfish.input.continueGears" constraints='BorderLayout.SOUTH'/> + <JButton text="isisfish.input.continueGears" constraints='BorderLayout.SOUTH' onActionPerformed='goToGear()'/> <!-- actionCommand="UIHelper.setTreeSelection('Gears')" --> 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 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,6 +32,129 @@ --> <Table> + <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 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; + + protected boolean changed = false; + protected Population pop = null; + public PopulationZonesUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + public void refresh(){ + pop = getContextValue(InputAction.class).getPopulation(); + if (pop != null){ + setPopulationZonesPresenceModel(); + setFieldPopulationZonesReproductionModel(); + setFieldPopulationZonesRecruitmentModel(); + setFieldPopulationMappingZoneReproZoneRecru(); + fieldPopulationMappingZoneReproZoneRecru.addMatrixListener(new MatrixPanelListener() { + + @Override + public void matrixChanged(MatrixPanelEvent arg0) { + fieldPopulationMappingZoneReproZoneRecruChanged(); + } + }); + valueChanged(false); + } + } + protected void fieldPopulationMappingZoneReproZoneRecruChanged(){ + pop.setMappingZoneReproZoneRecru(fieldPopulationMappingZoneReproZoneRecru.getMatrix()); + valueChanged(true); + } + protected void setFieldPopulationMappingZoneReproZoneRecru(){ + fieldPopulationMappingZoneReproZoneRecru.setMatrix(pop.getMappingZoneReproZoneRecru().copy()); + } + protected void setPopulationZonesPresenceModel(){ + setModel(pop.getPopulationZone(), populationZonesPresence); + } + protected void setFieldPopulationZonesReproductionModel(){ + setModel(pop.getReproductionZone(), fieldPopulationZonesReproduction); + } + protected void setFieldPopulationZonesRecruitmentModel(){ + setModel(pop.getRecruitmentZone(), fieldPopulationZonesRecruitment); + } + protected void setModel(java.util.List<Zone> selected, JAXXList componant){ + DefaultListModel model = new DefaultListModel(); + java.util.List<Zone> zones = getContextValue(InputAction.class).getFisheryRegion().getZone(); + java.util.List<GenericCell> selectedZones = new ArrayList<GenericCell>(); + for (Zone z : zones){ + GenericCell cell = new GenericCell(z.getName(), z, Zone.class); + model.addElement(cell); + 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(){ + pop.setPopulationZone(getSelectedValue(populationZonesPresence)); + valueChanged(true); + } + protected void reproductionChanged(){ + pop.setReproductionZone(getSelectedValue(fieldPopulationZonesReproduction)); + valueChanged(true); + } + protected void recruitementChanged(){ + pop.setRecruitmentZone(getSelectedValue(fieldPopulationZonesRecruitment)); + valueChanged(true); + } + protected java.util.List<Zone> getSelectedValue(JAXXList componant){ + Object[] selected = componant.getSelectedValues(); + java.util.List<Zone> selectedZone = new ArrayList<Zone>(); + for (Object i : selected){ + GenericCell cell = (GenericCell)i; + if (cell.getValue() != null){ + selectedZone.add((Zone)cell.getValue()); + } + } + return selectedZone; + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Population"); + getParentContainer(InputUI.class).setTreeSelection(topia, Population.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Population"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + save.setEnabled(b); + cancel.setEnabled(b); + } + ]]> + </script> <row> <cell fill='horizontal' weightx='0.3'> <JLabel text="isisfish.populationZones.selectPopulationAreas"/> @@ -46,7 +169,7 @@ <row> <cell fill='both' weightx='0.3' weighty='0.5'> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> - <JList id="populationZonesPresence"> + <JList id="populationZonesPresence" onMouseClicked='presenceChanged()'> <!-- Fixme : ListModel origin="getPopulationZone($Population)" renderer="name" @@ -59,7 +182,7 @@ </cell> <cell fill='both' weightx='0.3' weighty='0.5'> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> - <JList id="fieldPopulationZonesReproduction"> + <JList id="fieldPopulationZonesReproduction" onMouseClicked='reproductionChanged()'> <!-- Fixme : ListModel origin="getReproductionZone($Population)" renderer="name" @@ -73,7 +196,7 @@ </cell> <cell fill='both' weightx='0.3' weighty='0.5'> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> - <JList id="fieldPopulationZonesRecruitment"> + <JList id="fieldPopulationZonesRecruitment" onMouseClicked='recruitementChanged()'> <!-- Fixme : ListModel origin="getRecruitmentZone($Population)" renderer="name" @@ -92,7 +215,7 @@ </row> <row> <cell columns='3' fill='both' weightx='1.0' weighty='0.5'> - <JTable/> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationMappingZoneReproZoneRecru'/> <!-- Fixme : MatrixPanel <MatrixPanel constraints='"fieldPopulationMappingZoneReproZoneRecru"' id="fieldPopulationMappingZoneReproZoneRecru" @@ -108,7 +231,7 @@ <Table> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' enabled='false' text="isisfish.common.save" onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("Population", $Population);refreshView($fieldPopulationMappingZoneReproZoneRecru);refreshView($inputPopulationZones)' @@ -117,7 +240,7 @@ </row> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' enabled='false' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PortUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PortUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PortUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -53,6 +53,7 @@ protected OMToolSet toolSet = new OMToolSet(); protected boolean changed = false; public PortUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -50,6 +50,7 @@ boolean changed = false; public SelectivityUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } public void refresh(){ @@ -153,6 +154,13 @@ if (g.getValue() != null){ fieldSelectivityScript.setText(((Formule)(g).getValue()).getContent()); } + else { + try { + fieldSelectivityScript.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); + } catch (IOException ex) { + Logger.getLogger(SelectivityUI.class.getName()).log(Level.SEVERE, null, ex); + } + } } ]]> </script> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,6 +32,182 @@ --> <Table> + <script><![CDATA[ + + import org.codelutin.topia.TopiaException; + import fr.ifremer.isisfish.entities.Port; + import fr.ifremer.isisfish.entities.Equation; + import fr.ifremer.isisfish.entities.VesselType; + import fr.ifremer.isisfish.entities.Formule; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import org.codelutin.topia.persistence.TopiaEntity; + import java.util.logging.Level; + import java.util.logging.Logger; + + protected boolean changed = false; + public SetOfVesselsTabsUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + protected void refresh() { + fr.ifremer.isisfish.entities.SetOfVessels setOfVessels = getContextValue(InputAction.class).getSetOfVessels(); + if (setOfVessels != null){ + fieldSetOfVesselsName.setText(setOfVessels.getName()); + setFieldSetOfVesselsPortModel(setOfVessels); + setFieldSetOfVesselsVesselTypeModel(setOfVessels); + fieldSetOfVesselsNumberOfVessels.setText(setOfVessels.getNumberOfVessels() + ""); + fieldSetOfVesselsFixedCosts.setText(setOfVessels.getFixedCosts() + ""); + setFieldSetOfVesselsTechnicalEfficiencyModel(setOfVessels); + fieldSetOfVesselsComment.setText(setOfVessels.getComment()); + } + try { + editor.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); + } catch (IOException ex) { + Logger.getLogger(SelectivityUI.class.getName()).log(Level.SEVERE, null, ex); + } + } + protected void setFieldSetOfVesselsPortModel(fr.ifremer.isisfish.entities.SetOfVessels setOfVessels){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<Port> ports = getContextValue(InputAction.class).getFisheryRegion().getPort(); + String portSelectedName = setOfVessels.getPort().getName(); + GenericCell selectedCell = null; + for (Port p : ports){ + GenericCell cell = new GenericCell(p.getName(), p, Port.class); + model.addElement(cell); + if (p.getName().equals(portSelectedName)){ + selectedCell = cell; + } + } + fieldSetOfVesselsPort.setModel(model); + fieldSetOfVesselsPort.setSelectedItem(selectedCell); + } + protected void setFieldSetOfVesselsVesselTypeModel(fr.ifremer.isisfish.entities.SetOfVessels setOfVessels){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<VesselType> vesselTypes = getContextValue(InputAction.class).getFisheryRegion().getVesselType(); + String vesselTypeSelectedName = setOfVessels.getVesselType().getName(); + GenericCell selectedCell = null; + for (VesselType v : vesselTypes){ + GenericCell cell = new GenericCell(v.getName(), v, VesselType.class); + model.addElement(cell); + if (v.getName().equals(vesselTypeSelectedName)){ + selectedCell = cell; + } + } + fieldSetOfVesselsVesselType.setModel(model); + fieldSetOfVesselsVesselType.setSelectedItem(selectedCell); + } + protected void setFieldSetOfVesselsTechnicalEfficiencyModel(fr.ifremer.isisfish.entities.SetOfVessels setOfVessels){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<Formule> formule = getContextValue(InputAction.class).getFormules("TechnicalEfficiency"); + String formuleSelectedName = null; + if (setOfVessels.getTechnicalEfficiencyEquation() != null){ + formuleSelectedName = setOfVessels.getTechnicalEfficiencyEquation().getName(); + } + GenericCell selectedCell = null; + for (Formule f : formule){ + GenericCell cell = new GenericCell(f.getName(), f, Formule.class); + model.addElement(cell); + if (f.getName().equals(formuleSelectedName)){ + selectedCell = cell; + } + } + fieldSetOfVesselsTechnicalEfficiency.setModel(model); + fieldSetOfVesselsTechnicalEfficiency.setSelectedItem(selectedCell); + } + protected void create(){ + TopiaEntity topia = getContextValue(InputAction.class).create("SetOfVessels"); + + getParentContainer(InputUI.class).setTreeModel(); + getParentContainer(InputUI.class).setTreeSelection(topia, fr.ifremer.isisfish.entities.SetOfVessels.class); + + setInfoText(_("isisfish.message.creation.finished")); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("SetOfVessels"); + getParentContainer(InputUI.class).setTreeSelection(topia, fr.ifremer.isisfish.entities.SetOfVessels.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("SetOfVessels"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void remove(){ + setInfoText(getContextValue(InputAction.class).remove()); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + create.setEnabled(b); + save.setEnabled(b); + } + protected void nameChanged(){ + getContextValue(InputAction.class).getSetOfVessels().setName(fieldSetOfVesselsName.getText()); + } + protected void portChanged(){ + Object value = fieldSetOfVesselsPort.getSelectedItem(); + if (value != null){ + GenericCell cell = (GenericCell) value; + if (cell.getValue() != null){ + getContextValue(InputAction.class).getSetOfVessels().setPort((Port)cell.getValue()); + } + } + } + protected void vesselTypeChanged(){ + Object value = fieldSetOfVesselsVesselType.getSelectedItem(); + if (value != null){ + GenericCell cell = (GenericCell) value; + if (cell.getValue() != null){ + getContextValue(InputAction.class).getSetOfVessels().setVesselType((VesselType)cell.getValue()); + } + } + } + protected void numberOfVesselsChanged(){ + getContextValue(InputAction.class).getSetOfVessels().setNumberOfVessels(Integer.parseInt(fieldSetOfVesselsNumberOfVessels.getText())); + } + protected void fixedCostsChanged(){ + getContextValue(InputAction.class).getSetOfVessels().setFixedCosts(Double.parseDouble(fieldSetOfVesselsFixedCosts.getText())); + } + protected void technicalEfficiencyChanged(){ + GenericCell g = (GenericCell)fieldSetOfVesselsTechnicalEfficiency.getSelectedItem(); + if (g != null){ + if (g.getValue() != null){ + editor.setText(((Formule)g.getValue()).getContent()); + fr.ifremer.isisfish.entities.SetOfVessels setOfVessels = getContextValue(InputAction.class).getSetOfVessels(); + setOfVessels.setTechnicalEfficiencyEquation((Equation)g.getValue()); + } + } + else{ + try { + editor.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); + } catch (IOException ex) { + Logger.getLogger(MetierSeasonInfoSpeciesUI.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + protected void commentChanged(){ + getContextValue(InputAction.class).getSetOfVessels().setComment(fieldSetOfVesselsComment.getText()); + } + protected void saveAsModel(){ + GenericCell g = (GenericCell)fieldSetOfVesselsTechnicalEfficiency.getSelectedItem(); + getContextValue(InputAction.class).saveEquationAsModel((Equation)g.getValue()); + setInfoText(_("isisfish.message.saveModel.finished")); + } + protected void openEditor(){ + fr.ifremer.isisfish.entities.SetOfVessels setOfVessels = getContextValue(InputAction.class).getSetOfVessels(); + getContextValue(InputAction.class).openEditor(setOfVessels.getTechnicalEfficiencyEquation().getCategory(),"new",fr.ifremer.isisfish.equation.SoVTechnicalEfficiencyEquation.class, editor.getText(), editor); + } + ]]> + </script> <row> <cell fill='both' weightx='1.0' weighty='1.0'> <Table> @@ -40,7 +216,7 @@ <JLabel text="isisfish.setOfVessels.name"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldSetOfVesselsName"/> + <JTextField id="fieldSetOfVesselsName" onKeyTyped='nameChanged()'/> <!-- Fixmee : DocumentEvents origin="$SetOfVessels/name" <DocumentEvents onModified="Update($fieldSetOfVesselsName/text)"/> @@ -52,7 +228,7 @@ <JLabel text="isisfish.common.port"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldSetOfVesselsPort"/> + <JComboBox id="fieldSetOfVesselsPort" onActionPerformed='portChanged()'/> <!-- Fixme : ComboBoxModel origin="$SetOfVessels/port" renderer="name" firstNull="true" actionCommand="update($fieldSetOfVesselsPort/selectedItem, $SetOfVessels/port)" @@ -65,7 +241,7 @@ <JLabel text="isisfish.setOfVessels.vesselType"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldSetOfVesselsVesselType"/> + <JComboBox id="fieldSetOfVesselsVesselType" onActionPerformed='vesselTypeChanged()'/> <!-- Fixme : ComboBoxModel origin="$SetOfVessels/vesselType" renderer="name" firstNull="true" actionCommand="update($fieldSetOfVesselsVesselType/selectedItem, $SetOfVessels/vesselType)" @@ -78,7 +254,7 @@ <JLabel text="isisfish.setOfVessels.numberOfVessels"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldSetOfVesselsNumberOfVessels"/> + <JTextField id="fieldSetOfVesselsNumberOfVessels" onKeyTyped='numberOfVesselsChanged()'/> <!-- origin="$SetOfVessels/numberOfVessels" @@ -91,7 +267,7 @@ <JLabel text="isisfish.setOfVessels.fixedCosts"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldSetOfVesselsFixedCosts"/> + <JTextField id="fieldSetOfVesselsFixedCosts" onKeyTyped='fixedCostsChanged()'/> <!-- origin="$SetOfVessels/fixedCosts" @@ -104,13 +280,7 @@ <JLabel text="isisfish.setOfVessels.technicalEfficiency"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldSetOfVesselsTechnicalEfficiency"/> - -<!-- - origin="$SetOfVessels/technicalEfficiencyEquation" renderer="name" firstNull="true" - actionCommand="Update($fieldSetOfVesselsTechnicalEfficiency/selectedItem/content, $fieldScriptSetOfVesselsTechnicalEfficiency/text)" -<ComboBoxModel origin='fr.ifremer.isisfish.datastore.FormuleStorage.getFormules($TopiaContext, "TechnicalEfficiency")'/> ---> + <JComboBox id="fieldSetOfVesselsTechnicalEfficiency" onActionPerformed='technicalEfficiencyChanged()'/> </cell> </row> <row> @@ -118,7 +288,7 @@ <Table> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.saveModel"/> + <JButton text="isisfish.common.saveModel" onActionPerformed='saveAsModel()'/> <!-- actionCommand='input.Input.saveEquationAsModel($SetOfVessels/technicalEfficiencyEquation);refreshView($fieldSetOfVesselsTechnicalEfficiency)' --> @@ -126,7 +296,7 @@ </row> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.openEditor"/> + <JButton text="isisfish.common.openEditor" onActionPerformed='openEditor()'/> </cell> </row> <row> @@ -137,18 +307,9 @@ </Table> </cell> <cell fill='both' weightx='1.0' weighty='0.7'> - <JPanel/> - <!-- Fixme : editor - actionCommand='input.Input.openEditor($SetOfVessels/technicalEfficiencyEquation/category,$SetOfVessels/technicalEfficiencyEquation/name,$SetOfVessels/technicalEfficiencyEquation/javaInterface,$SetOfVessels/technicalEfficiencyEquation/content,$fieldScriptSetOfVesselsTechnicalEfficiency)' - <editor constraints="fieldScriptSetOfVesselsTechnicalEfficiency" askIfNotSaved="false" - id="fieldScriptSetOfVesselsTechnicalEfficiency" - origin="org.codelutin.util.FileUtil.getTempFile($SetOfVessels/technicalEfficiencyEquation/content, '.java')"> - <DocumentEvents onModified="Update"> - <UpdateOrigin - target="setEquationTechnicalEfficiency($SetOfVessels, $fieldScriptSetOfVesselsTechnicalEfficiency/text)"/> - </DocumentEvents> - </editor> ---> + <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> + <org.codelutin.widget.editor.Editor id='editor' askIfNotSaved="false"/> + </JScrollPane> </cell> </row> <row> @@ -157,15 +318,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='0.3'> <JScrollPane> - <JTextArea id="fieldSetOfVesselsComment"> - -<!-- Fixme : DocumentEvents - origin="$SetOfVessels/comment" -<DocumentEvents onModified="Update($fieldSetOfVesselsComment/text)"/> ---> - </JTextArea> -<!-- ---> + <JTextArea id="fieldSetOfVesselsComment" onKeyTyped='commentChanged()'/> </JScrollPane> </cell> </row> @@ -177,34 +330,18 @@ <Table> <row> <cell fill='horizontal' weightx='1.0'> - <JButton text="isisfish.common.new"/> -<!-- - origin="$FisheryRegion" - actionCommand='input.Input.create("SetOfVessels")' ---> + <JButton id='create' text="isisfish.common.new" onActionPerformed='create()'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JButton text="isisfish.common.save"/> -<!-- -origin="$EntityModified" - actionCommand='input.Input.save("SetOfVessels", $SetOfVessels);refreshView($inputSetOfVessels)' ---> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> </cell> </row> <row> <cell fill='horizontal' weightx='1.0'> - <JButton text="isisfish.common.cancel"/> -<!-- - origin="$EntityModified" - actionCommand='input.Input.cancel("SetOfVessels", $SetOfVessels);refreshView($inputSetOfVessels)' ---> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> </cell> <cell fill='horizontal' weightx='1.0'> - <JButton text="isisfish.common.remove"/> -<!-- - origin="$SetOfVessels" - actionCommand="input.Input.remove($SetOfVessels)" ---> + <JButton id='remove' text="isisfish.common.remove" onActionPerformed='remove()'/> </cell> </row> </Table> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -37,23 +37,24 @@ +--> <JPanel layout='{new BorderLayout()}'> <script><![CDATA[ + import fr.ifremer.isisfish.entities.Strategy; public SetOfVesselsUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { + setOfVesselsTabsUI.refresh(); + effortDescriptionUI.refresh(); } + protected void goToStrategies(){ + getParentContainer(InputUI.class).setTreeSelection(null, Strategy.class); + } ]]></script> <JTabbedPane id="SetOfVesselsTab" name="SetOfVessels" constraints='BorderLayout.CENTER'> - <tab title='{_("isisfish.setOfVessels.title")}'><SetOfVesselsTabsUI/></tab> - <tab title='{_("isisfish.effortDescription.title")}'><EffortDescriptionUI/></tab> -<!-- -isisfish.setOfVessels.title -isisfish.effortDescription.title - <xpanel xml="input/SetOfVessels.xml" id="inputSetOfVessels"/> - <xpanel xml="input/EffortDescription.xml" id="inputEffortDescription"/> ---> + <tab title='{_("isisfish.setOfVessels.title")}'><SetOfVesselsTabsUI id='setOfVesselsTabsUI' constructorParams='getContextValue(InputAction.class)'/></tab> + <tab title='{_("isisfish.effortDescription.title")}'><EffortDescriptionUI id='effortDescriptionUI' constructorParams='getContextValue(InputAction.class)'/></tab> </JTabbedPane> - <JButton text="isisfish.input.continueStrategies" constraints='BorderLayout.SOUTH'/> + <JButton text="isisfish.input.continueStrategies" constraints='BorderLayout.SOUTH' onActionPerformed='goToStrategies()'/> <!-- actionCommand="UIHelper.setTreeSelection('Strategies')" Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SpeciesUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SpeciesUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SpeciesUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -37,7 +37,7 @@ +--> <Table> <script><![CDATA[ - import fr.ifremer.isisfish.entities.Gear; + import fr.ifremer.isisfish.entities.Population; import fr.ifremer.isisfish.entities.Species; import fr.ifremer.isisfish.ui.WelcomePanelUI; import org.codelutin.topia.persistence.TopiaEntity; @@ -45,6 +45,7 @@ protected boolean changed = false; public SpeciesUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { @@ -85,8 +86,8 @@ valueChanged(false); refresh(); } - protected void goToGear(){ - getParentContainer(InputUI.class).setTreeSelection(null, Gear.class); + protected void goToPopulation(){ + getParentContainer(InputUI.class).setTreeSelection(null, Population.class); } protected void valueChanged(boolean b){ changed=b; @@ -139,10 +140,6 @@ </cell> <cell fill='horizontal' columns='2' weightx='1.0'> <JTextField id="fieldSpeciesName" onKeyTyped='nameChanged()'/> -<!-- Fixme : DocumentEvents - origin="$Species/name" -<DocumentEvents onModified="Update($fieldSpeciesName/text)"/> ---> </cell> </row> <row> @@ -152,10 +149,6 @@ </cell> <cell fill='horizontal' columns='2' weightx='1.0'> <JTextField id="fieldSpeciesScientificName" onKeyTyped='scientificNameChanged()'/> -<!-- Fixme : DocumentEvents - origin="$Species/scientificName" - <DocumentEvents onModified="Update($fieldSpeciesScientificName/text)"/> ---> </cell> </row> <row> @@ -166,10 +159,6 @@ </cell> <cell fill='horizontal' columns='2' weightx='1.0'> <JTextField id="fieldSpeciesCodeRubbin" onKeyTyped='codeChanged()'/> -<!-- Fixme : DocumentEvents - origin="$Species/codeRubbin" - <DocumentEvents onModified="Update($fieldSpeciesCodeRubbin/text)"/> ---> </cell> </row> <row> @@ -179,10 +168,6 @@ </cell> <cell fill='horizontal' columns='2' weightx='1.0'> <JTextField id="fieldSpeciesCEE" onKeyTyped='CEEChanged()'/> -<!-- - origin="$Species/codeCEE" - <DocumentEvents onModified="Update($fieldSpeciesCEE/text)"/> ---> </cell> </row> <row> @@ -193,26 +178,9 @@ </cell> <cell fill='horizontal' weightx='0.5'> <JRadioButton id="fieldSpeciesDynamicAge" text="isisfish.species.age" buttonGroup="structuredGroup" onItemStateChanged='dynamicAgeChanged()'/> -<!-- - origin="$Species/ageGroupType" - actionCommand="Update($fieldSpeciesDynamicAge/selected)" ---> -<!-- Déjà commenté - <ItemEvents onStateChanged="Update($fieldSpeciesDynamicAge/selected)"/> - </radioButton> ---> </cell> <cell fill='horizontal' weightx='0.5'> <JRadioButton id="fieldSpeciesDynamicLength" text="isisfish.species.length" buttonGroup="structuredGroup"/> -<!-- - origin="not(getAgeGroupType($Species))" - actionCommand="Update($fieldSpeciesDynamicAge/selected, $Species/ageGroupType)" ---> - <!-- Déjà commenté - <ItemEvents onStateChanged="Update($fieldSpeciesDynamicAge/selected, $Species/ageGroupType)"/> - </radioButton> - --> - </cell> </row> <row> @@ -223,11 +191,6 @@ <cell fill='both' columns='2' weightx='1.0' weighty='1.0'> <JScrollPane> <JTextArea id="fieldSpeciesComment" onKeyTyped='commentChanged()'/> - <!-- Fixme : DocumentEvents - origin="$Species/comment" - <DocumentEvents onModified="Update($fieldSpeciesComment/text)"/> - <DocumentEvents onModified="Update($fieldSpeciesComment/text)"/> - --> </JScrollPane> </cell> </row> @@ -239,47 +202,23 @@ <Table> <row> <cell fill='horizontal' weightx='0.5'> - - <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> -<!-- - origin="$EntityModified" - actionCommand='input.Input.save("Species", $Species);refreshView($inputSpecies)' ---> - - </cell> <cell fill='horizontal' weightx='0.5'> <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> -<!-- - origin="$EntityModified" - actionCommand='input.Input.cancel("Species", $Species);refreshView($inputSpecies)' ---> </cell> </row> <row> <cell fill='horizontal' weightx='0.5'> <JButton id='create' text="isisfish.common.new" onActionPerformed='create()'/> -<!-- - origin="$FisheryRegion" - actionCommand='input.Input.create("Species")' ---> </cell> <cell fill='horizontal' weightx='0.5'> <JButton id='remove' text="isisfish.common.remove" onActionPerformed='remove()'/> -<!-- - origin="$Species" - actionCommand="input.Input.remove($Species)" ---> </cell> </row> <row> <cell columns='2' fill='horizontal' weightx='1.0'> - <JButton text="isisfish.input.continuePopulations" onActionPerformed='goToGear()'/> -<!-- - actionCommand="UIHelper.setTreeSelectionFirstChild($Species)" ---> - + <JButton text="isisfish.input.continuePopulations" onActionPerformed='goToPopulation()'/> </cell> </row> </Table> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyMonthInfoUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyMonthInfoUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyMonthInfoUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,47 +32,87 @@ --> <JPanel layout='{new BorderLayout()}'> + <script><![CDATA[ + import fr.ifremer.isisfish.entities.StrategyMonthInfo; + import fr.ifremer.isisfish.types.Month; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import org.codelutin.topia.persistence.TopiaEntity; + + public StrategyMonthInfoUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + protected void refresh() { + strategyJanuary.refresh(Month.JANUARY); + strategyFebuary.refresh(Month.FEBRUARY); + strategyMarch.refresh(Month.MARCH); + strategyApril.refresh(Month.APRIL); + strategyMay.refresh(Month.MAY); + strategyJune.refresh(Month.JUNE); + strategyJuly.refresh(Month.JULY); + strategyAugust.refresh(Month.AUGUST); + strategySeptember.refresh(Month.SEPTEMBER); + strategyOctober.refresh(Month.OCTOBER); + strategyNovember.refresh(Month.NOVEMBER); + strategyDecember.refresh(Month.DECEMBER); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Strategy"); + getParentContainer(InputUI.class).setTreeSelection(topia, fr.ifremer.isisfish.entities.Strategy.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Strategy"); + setInfoText(_("isisfish.message.cancel.finished")); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + ]]></script> <Table constraints='BorderLayout.CENTER'> <row> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyJanuary'/> + <StrategyOneMonthInfoUI id='strategyJanuary' constructorParams='getContextValue(InputAction.class)'/> </cell> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyFebuary'/> + <StrategyOneMonthInfoUI id='strategyFebuary' constructorParams='getContextValue(InputAction.class)'/> </cell> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyMarch'/> + <StrategyOneMonthInfoUI id='strategyMarch' constructorParams='getContextValue(InputAction.class)'/> </cell> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyApril'/> + <StrategyOneMonthInfoUI id='strategyApril' constructorParams='getContextValue(InputAction.class)'/> </cell> </row> <row> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyMay'/> + <StrategyOneMonthInfoUI id='strategyMay' constructorParams='getContextValue(InputAction.class)'/> </cell> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyJune'/> + <StrategyOneMonthInfoUI id='strategyJune' constructorParams='getContextValue(InputAction.class)'/> </cell> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyJuly'/> + <StrategyOneMonthInfoUI id='strategyJuly' constructorParams='getContextValue(InputAction.class)'/> </cell> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyAugust'/> + <StrategyOneMonthInfoUI id='strategyAugust' constructorParams='getContextValue(InputAction.class)'/> </cell> </row> <row> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategySeptember'/> + <StrategyOneMonthInfoUI id='strategySeptember' constructorParams='getContextValue(InputAction.class)'/> </cell> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyOctober'/> + <StrategyOneMonthInfoUI id='strategyOctober' constructorParams='getContextValue(InputAction.class)'/> </cell> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyNovember'/> + <StrategyOneMonthInfoUI id='strategyNovember' constructorParams='getContextValue(InputAction.class)'/> </cell> <cell fill='both' weightx='0.25' weighty='0.3'> - <StrategyOneMonthInfoUI id='StrategyDecember'/> + <StrategyOneMonthInfoUI id='strategyDecember' constructorParams='getContextValue(InputAction.class)'/> </cell> </row> </Table> @@ -85,14 +125,14 @@ <Table constraints='BorderLayout.SOUTH'> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("Strategy", $Strategy);refreshView($inputStrategyMonthInfo)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("Strategy", $Strategy);refreshView($inputStrategyMonthInfo)' 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 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,6 +32,77 @@ --> <Table> + <script><![CDATA[ + + import fr.ifremer.isisfish.entities.StrategyMonthInfo; + import fr.ifremer.isisfish.entities.Strategy; + import fr.ifremer.isisfish.types.Month; + import fr.ifremer.isisfish.entities.TripType; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + + protected StrategyMonthInfo strategyMonthInfo = null; + + public StrategyOneMonthInfoUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + protected void refresh(Month m) { + Strategy strategy = getContextValue(InputAction.class).getStrategy(); + if (strategy != null && m != null){ + strategyMonthInfo = strategy.getStrategyMonthInfo(m); + setFieldStrategyMonthInfoTripTypeModel(); + numberOfTrips.setText(strategyMonthInfo.getNumberOfTrips() + ""); + fieldStrategyMonthInfoMinInactivityDays.setText(strategyMonthInfo.getMinInactivityDays() + ""); + setFieldStrategyMonthInfoProportionModel(); + } + } + protected void setFieldStrategyMonthInfoTripTypeModel(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + TripType selected = strategyMonthInfo.getTripType(); + GenericCell cellSelected = null; + for (TripType t : getContextValue(InputAction.class).getFisheryRegion().getTripType()){ + GenericCell g = new GenericCell(t.getName(),t,TripType.class); + model.addElement(g); + if (selected != null){ + if (t.getName().equals(selected.getName())){ + cellSelected = g; + } + } + } + fieldStrategyMonthInfoTripType.setModel(model); + if (cellSelected != null){ + fieldStrategyMonthInfoTripType.setSelectedItem(cellSelected); + } + } + protected void setFieldStrategyMonthInfoProportionModel(){ + if (strategyMonthInfo != null){ + fieldStrategyMonthInfoProportion.setMatrix(strategyMonthInfo.getProportionMetier()); + strategyMonthInfo.setProportionMetier(fieldStrategyMonthInfoProportion.getMatrix()); +// fieldStrategyMonthInfoProportion.getModel().addTableModelListener(new TableModelListener() { +// @Override +// public void tableChanged(TableModelEvent e) { +// } +// }); + } + + // <MatrixPanel constraints='"fieldStrategyMonthInfoProportion"' + // id="fieldStrategyMonthInfoProportion2" + // linearModel="true" linearModelShowDefault="true" + // origin="copy($StrategyMonthInfo2/proportionMetier)"> + // <MatrixPanelEvents onMatrixChanged="Update(copy($fieldStrategyMonthInfoProportion2/matrix), $StrategyMonthInfo2/proportionMetier)"/> + // </MatrixPanel> + } + protected void tripTypeChanged(){ + Object selected = fieldStrategyMonthInfoTripType.getSelectedItem(); + if (selected != null){ + TripType tripTypeSelected = (TripType)((GenericCell)selected).getValue(); + strategyMonthInfo.setTripType(tripTypeSelected); + } + } + protected void minInactivityDayChanged(){ + strategyMonthInfo.setMinInactivityDays(Double.parseDouble(fieldStrategyMonthInfoMinInactivityDays.getText())); + } + ]]></script> <row> <cell columns='2' fill='horizontal' weightx='1.0' anchor='west'> <JLabel id='StrategieMonth'/> @@ -39,7 +110,7 @@ </row> <row> <cell columns='2' fill='horizontal' weightx='1.0'> - <JComboBox id="fieldStrategyMonthInfoTripType"> + <JComboBox id="fieldStrategyMonthInfoTripType" onActionPerformed='tripTypeChanged()'> <!--Fixme : JComboBoxModel origin="$StrategyMonthInfo2/tripType" firstNull="true" actionCommand="update($fieldStrategyMonthInfoTripType2/selectedItem, $StrategyMonthInfo2/tripType)" @@ -55,6 +126,7 @@ <cell fill='horizontal' weightx='0.5' anchor='west'> <JLabel id='numberOfTrips'/> <!-- + text='{strategyMonthInfo.getNumberOfTrips().toString()}' origin="$StrategyMonthInfo2/numberOfTrips" --> </cell> @@ -64,7 +136,7 @@ <JLabel text="isisfish.strategyMonthInfo.minInactivityDays"/> </cell> <cell fill='horizontal' weightx='0.5'> - <JTextField id="fieldStrategyMonthInfoMinInactivityDays2"> + <JTextField id="fieldStrategyMonthInfoMinInactivityDays" onKeyTyped='minInactivityDayChanged()'> <!-- Fixme : DocumentEvents origin="$StrategyMonthInfo2/minInactivityDays" <DocumentEvents onModified="Update($fieldStrategyMonthInfoMinInactivityDays2/text)"/> @@ -74,15 +146,7 @@ </row> <row> <cell columns='2' fill='both' weightx='1.0' weighty='1.0'> - <JTable/> -<!-- - <MatrixPanel constraints='"fieldStrategyMonthInfoProportion"' - id="fieldStrategyMonthInfoProportion2" - linearModel="true" linearModelShowDefault="true" - origin="copy($StrategyMonthInfo2/proportionMetier)"> - <MatrixPanelEvents onMatrixChanged="Update(copy($fieldStrategyMonthInfoProportion2/matrix), $StrategyMonthInfo2/proportionMetier)"/> - </MatrixPanel> ---> + <org.codelutin.math.matrix.gui.MatrixPanelEditor id="fieldStrategyMonthInfoProportion"/> </cell> </row> </Table> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -32,6 +32,134 @@ --> <Table> + <script><![CDATA[ + import fr.ifremer.isisfish.entities.Equation; + import fr.ifremer.isisfish.entities.Formule; + import fr.ifremer.isisfish.entities.SetOfVessels; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import java.util.logging.Level; + import java.util.logging.Logger; + + boolean changed = false; + + public StrategyTabUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + protected void refresh() { + fr.ifremer.isisfish.entities.Strategy strategy = getContextValue(InputAction.class).getStrategy(); + if (strategy != null){ + fieldStrategyName.setText(strategy.getName()); + setSetOfVesselsModel(strategy); + fieldStrategyProportionSetOfVessels.setText(strategy.getProportionSetOfVessels() + ""); + fieldUseEquationInactivity.setSelected(strategy.getInactivityEquationUsed()); + setInactivityModel(); + fieldStrategyComment.setText(strategy.getComment()); + try { + editor.open(org.codelutin.util.FileUtil.getTempFile("", ".java")); + } catch (IOException ex) { + Logger.getLogger(StrategyTabUI.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + protected void setInactivityModel(){ + java.util.List<Formule> formules = getContextValue(InputAction.class).getFormules("Inactivity"); + DefaultComboBoxModel model = new DefaultComboBoxModel(); + for (Formule f : formules){ + model.addElement(new GenericCell(f.getName(),f,Formule.class)); + } + fieldStrategyInactivity.setModel(model); + } + protected void setSetOfVesselsModel(fr.ifremer.isisfish.entities.Strategy s){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + java.util.List<SetOfVessels> value = getContextValue(InputAction.class).getFisheryRegion().getSetOfVessels(); + SetOfVessels selected = s.getSetOfVessels(); + GenericCell selectedCell = null; + for (SetOfVessels sov : value){ + GenericCell cell = new GenericCell(sov.getName(), sov, SetOfVessels.class); + model.addElement(cell); + if (selected != null){ + if (sov.getName().equals(selected.getName())){ + selectedCell = cell; + } + } + } + fieldStrategySetOfVessels.setModel(model); + if (selectedCell != null){ + fieldStrategySetOfVessels.setSelectedItem(selectedCell); + } + } + protected void nameChanged(){ + getContextValue(InputAction.class).getStrategy().setName(fieldStrategyName.getText()); + } + protected void setOfVesselsChanged(){ + Object o = fieldStrategySetOfVessels.getSelectedItem(); + if (o != null){ + getContextValue(InputAction.class).getStrategy().setSetOfVessels((SetOfVessels)((GenericCell)o).getValue()); + } + } + protected void proportionSetOfVesselsChanged(){ + getContextValue(InputAction.class).getStrategy().setProportionSetOfVessels(Double.parseDouble(fieldStrategyProportionSetOfVessels.getText())); + } + protected void useInactivityChanged(){ + getContextValue(InputAction.class).getStrategy().setInactivityEquationUsed(fieldUseEquationInactivity.isSelected()); + } + protected void inactivityChanged(){ + Object o = fieldStrategyInactivity.getSelectedItem(); + if (o != null){ + editor.setText(((Formule)((GenericCell)o).getValue()).getContent()); + } + } + protected void commentChanged(){ + getContextValue(InputAction.class).getSetOfVessels().setName(fieldStrategyName.getText()); + } + protected void saveModel(){ + GenericCell g = (GenericCell)fieldStrategyInactivity.getSelectedItem(); + getContextValue(InputAction.class).saveEquationAsModel((Equation)g.getValue()); + setInfoText(_("isisfish.message.saveModel.finished")); + } + protected void openEditor(){ + fr.ifremer.isisfish.entities.Strategy strategy = getContextValue(InputAction.class).getStrategy(); + getContextValue(InputAction.class).openEditor(strategy.getInactivityEquation().getContent(),"new",fr.ifremer.isisfish.equation.StrategyInactivityEquation.class, editor.getText(), editor); + } + protected void create(){ + TopiaEntity topia = getContextValue(InputAction.class).create("Strategy"); + + getParentContainer(InputUI.class).setTreeModel(); + getParentContainer(InputUI.class).setTreeSelection(topia, fr.ifremer.isisfish.entities.Strategy.class); + + setInfoText(_("isisfish.message.creation.finished")); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("Strategy"); + getParentContainer(InputUI.class).setTreeSelection(topia, fr.ifremer.isisfish.entities.Strategy.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("Strategy"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void remove(){ + setInfoText(getContextValue(InputAction.class).remove()); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + create.setEnabled(b); + save.setEnabled(b); + } + ]]></script> <row> <cell fill='both' weightx='1.0' weighty='1.0'> <Table> @@ -40,7 +168,7 @@ <JLabel text="isisfish.strategy.name"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldStrategyName"/> + <JTextField id="fieldStrategyName" onKeyTyped='nameChanged()'/> <!-- Fixme : DocumentEvents origin="$Strategy/name" <DocumentEvents onModified="Update($fieldStrategyName/text)"/> @@ -52,7 +180,7 @@ <JLabel text="isisfish.common.setOfVessels"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldStrategySetOfVessels"/> + <JComboBox id="fieldStrategySetOfVessels" onActionPerformed='setOfVesselsChanged()'/> <!-- Fixme : ComboBoxModel origin="$Strategy/setOfVessels" renderer="name" firstNull="true" actionCommand="update($fieldStrategySetOfVessels/selectedItem, $Strategy/setOfVessels)" @@ -65,7 +193,7 @@ <JLabel text="isisfish.strategy.proportionSetOfVessels"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldStrategyProportionSetOfVessels"/> + <JTextField id="fieldStrategyProportionSetOfVessels" onKeyTyped='proportionSetOfVesselsChanged()'/> <!-- Fixme : DocumentEvents origin="$Strategy/proportionSetOfVessels" <DocumentEvents onModified="Update($fieldStrategyProportionSetOfVessels/text)"/> @@ -77,7 +205,7 @@ <JPanel/> </cell> <cell fill='horizontal' weightx='1.0'> - <JCheckBox id="fieldUseEquationInactivity"/> + <JCheckBox id="fieldUseEquationInactivity" onActionPerformed='useInactivityChanged()'/> <!-- Fixme : ItemEvents origin="$Strategy/inactivityEquationUsed" text="isisfish.strategy.inactivityEquationUsed" <ItemEvents onStateChanged="Update($fieldUseEquationInactivity/selected, $Strategy/inactivityEquationUsed, refreshView($hideablePanelInactivityEquation))"/> @@ -89,7 +217,7 @@ <JLabel text="isisfish.strategy.inactivity"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JComboBox id="fieldStrategyInactivity"/> + <JComboBox id="fieldStrategyInactivity" onActionPerformed='inactivityChanged()'/> <!-- actionCommand="Update($fieldStrategyInactivity/selectedItem/content, $fieldScriptStrategyInactivity/text)"> <ComboBoxModel origin='fr.ifremer.isisfish.datastore.FormuleStorage.getFormules($TopiaContext, "Inactivity")'/> @@ -101,7 +229,7 @@ <Table> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.saveModel"/> + <JButton text="isisfish.common.saveModel" onActionPerformed='saveModel()'/> <!-- actionCommand='input.Input.saveEquationAsModel($Strategy/inactivityEquation);refreshView($fieldStrategyInactivity)'/> --> @@ -109,7 +237,7 @@ </row> <row> <cell fill='horizontal'> - <JButton text="isisfish.common.openEditor"/> + <JButton text="isisfish.common.openEditor" onActionPerformed='openEditor()'/> <!-- actionCommand='input.Input.openEditor($Strategy/inactivityEquation/category,$Strategy/inactivityEquation/name,$Strategy/inactivityEquation/javaInterface,$Strategy/inactivityEquation/content,$fieldScriptStrategyInactivity)'/> --> @@ -123,7 +251,7 @@ </Table> </cell> <cell fill='both' weightx='1.0' weighty='0.7'> - <JPanel/> + <org.codelutin.widget.editor.Editor id='editor' askIfNotSaved="false"/> <!-- <editor constraints='"fieldScriptStrategyInactivity"' askIfNotSaved="false" id="fieldScriptStrategyInactivity" @@ -144,7 +272,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='0.3'> <JScrollPane> - <JTextArea id="fieldStrategyComment"> + <JTextArea id="fieldStrategyComment" onKeyTyped='commentChanged()'> <!-- Fixme : DocumentEvents origin="$Strategy/comment" <DocumentEvents onModified="Update($fieldStrategyComment/text)"/> @@ -161,14 +289,14 @@ <Table> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.new"/> + <JButton id='create' text="isisfish.common.new" onActionPerformed='create()'/> <!-- origin="$FisheryRegion" actionCommand='input.Input.create("Strategy")' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("Strategy", $Strategy);refreshView($inputStrategy)' @@ -177,14 +305,14 @@ </row> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("Strategy", $Strategy);refreshView($inputStrategy)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.remove"/> + <JButton id='remove' text="isisfish.common.remove" onActionPerformed='remove()'/> <!-- origin="$Strategy" actionCommand="input.Input.remove($Strategy)" Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -37,13 +37,16 @@ <JTabbedPane id="StrategyTab" name="Strategy" > <script><![CDATA[ public StrategyUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { + strategyTabUI.refresh(); + strategyMonthInfoUI.refresh(); } ]]></script> - <tab title='{_("isisfish.strategy.title")}'><StrategyTabUI/></tab> - <tab title='{_("isisfish.strategyMonthInfo.title")}'><StrategyMonthInfoUI/></tab> + <tab title='{_("isisfish.strategy.title")}'><StrategyTabUI id='strategyTabUI' constructorParams='getContextValue(InputAction.class)'/></tab> + <tab title='{_("isisfish.strategyMonthInfo.title")}'><StrategyMonthInfoUI id='strategyMonthInfoUI' constructorParams='getContextValue(InputAction.class)'/></tab> <!-- isisfish.strategy.title isisfish.strategyMonthInfo.title Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/TripTypeUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/TripTypeUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/TripTypeUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -35,11 +35,79 @@ +--> <Table> <script><![CDATA[ + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.entities.TripType; + import fr.ifremer.isisfish.entities.VesselType; + import fr.ifremer.isisfish.types.TimeUnit; + + boolean changed = false; public TripTypeUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { - } + if (getContextValue(InputAction.class).getTripType() != null){ + fieldTripTypeName.setText(getContextValue(InputAction.class).getTripType().getName()); + fieldTripTypeDuration.setText("" + getContextValue(InputAction.class).getTripType().getTripDuration().getHour()); + fieldTripTypeMinTimeBetweenTrip.setText("" + getContextValue(InputAction.class).getTripType().getMinTimeBetweenTrip().getHour()); + fieldTripTypeComment.setText(getContextValue(InputAction.class).getTripType().getComment()); + } + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + create.setEnabled(b); + save.setEnabled(b); + } + protected void nameChanged(){ + getContextValue(InputAction.class).getTripType().setName(fieldTripTypeName.getText()); + valueChanged(true); + } + protected void typeDurationChanged(){ + getContextValue(InputAction.class).getTripType().setTripDuration(new TimeUnit(Double.parseDouble(fieldTripTypeDuration.getText()))); + valueChanged(true); + } + protected void minTimeChanged(){ + getContextValue(InputAction.class).getTripType().setMinTimeBetweenTrip(new TimeUnit(Double.parseDouble(fieldTripTypeMinTimeBetweenTrip.getText()))); + valueChanged(true); + } + protected void commentChanged(){ + getContextValue(InputAction.class).getTripType().setComment(fieldTripTypeComment.getText()); + valueChanged(true); + } + protected void create(){ + TopiaEntity topia = getContextValue(InputAction.class).create("TripType"); + + getParentContainer(InputUI.class).setTreeModel(); + getParentContainer(InputUI.class).setTreeSelection(topia, TripType.class); + + setInfoText(_("isisfish.message.creation.finished")); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("TripType"); + getParentContainer(InputUI.class).setTreeSelection(topia, TripType.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("TripType"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void remove(){ + setInfoText(getContextValue(InputAction.class).remove()); + valueChanged(false); + refresh(); + } + protected void goToVesselTypes(){ + getParentContainer(InputUI.class).setTreeSelection(null, VesselType.class); + } ]]> </script> <row> @@ -50,44 +118,23 @@ <JLabel text="isisfish.tripType.name"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldTripTypeName"/> -<!-- Fixme : DocumentEvents - origin="$TripType/name" -<DocumentEvents onModified="Update($fieldTripTypeName/text)"/> ---> - + <JTextField id="fieldTripTypeName" onKeyTyped='nameChanged()'/> </cell> </row> <row> <cell> <JLabel text="isisfish.tripType.duration"/> - -<!-- - tooltips="In hours" ---> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldTripTypeDuration"/> -<!-- Fixme : DocumentEvents - origin="$TripType/tripDuration/hour" - tooltips="In hours" -<DocumentEvents onModified="Update($fieldTripTypeDuration/text * 3600, $TripType/tripDuration)"/> ---> + <JTextField id="fieldTripTypeDuration" onKeyTyped='typeDurationChanged()'/> </cell> </row> <row> <cell> <JLabel text="isisfish.tripType.minTime"/> - </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldTripTypeMinTimeBetweenTrip"/> -<!-- Fixme : DocumentEvents - - origin="$TripType/minTimeBetweenTrip/hour" -<DocumentEvents onModified="Update($fieldTripTypeMinTimeBetweenTrip/text * 3600, $TripType/minTimeBetweenTrip)"/> ---> - + <JTextField id="fieldTripTypeMinTimeBetweenTrip" onKeyTyped='minTimeChanged()'/> </cell> </row> <row> @@ -97,11 +144,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='1.0'> <JScrollPane> - <JTextArea id="fieldTripTypeComment"/> -<!-- Fixme : DocumentEvents - origin="$TripType/comment" - <DocumentEvents onModified="Update($fieldTripTypeComment/text)"/> ---> + <JTextArea id="fieldTripTypeComment" onKeyTyped='commentChanged()'/> </JScrollPane> </cell> </row> @@ -113,46 +156,24 @@ <Table> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> -<!-- - origin="$EntityModified" - actionCommand='input.Input.save("TripType", $TripType);refreshView($inputTripType)' ---> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> -<!-- - origin="$EntityModified" - actionCommand='input.Input.cancel("TripType", $TripType);refreshView($inputTripType)' ---> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> </cell> </row> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.new"/> -<!-- - origin="$FisheryRegion" - actionCommand='input.Input.create("TripType")' ---> - + <JButton id='create' text="isisfish.common.new" onActionPerformed='create()'/> </cell> <cell fill='horizontal' weightx='0.5'> - - <JButton text="isisfish.common.remove"/> -<!-- - origin="$TripType" - actionCommand="input.Input.remove($TripType)" ---> - + <JButton id='remove' text="isisfish.common.remove" onActionPerformed='remove()'/> </cell> </row> <row> <cell columns ='2' fill='horizontal' weightx='1.0'> - <JButton text="isisfish.input.continueVesselTypes"/> -<!-- - actionCommand="UIHelper.setTreeSelection('VesselTypes')" ---> + <JButton text="isisfish.input.continueVesselTypes" onActionPerformed='goToVesselTypes()'/> </cell> </row> </Table> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -33,11 +33,111 @@ <JPanel layout='{new BorderLayout()}'> <script><![CDATA[ + import fr.ifremer.isisfish.entities.VesselType; + import fr.ifremer.isisfish.entities.TripType; + import fr.ifremer.isisfish.ui.WelcomePanelUI; + import fr.ifremer.isisfish.ui.widget.editor.GenericCell; + import org.codelutin.topia.persistence.TopiaEntity; + import fr.ifremer.isisfish.types.TimeUnit; + + boolean changed = false; public VesselTypeUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh() { - } + VesselType vesselType = getContextValue(InputAction.class).getVesselType(); + if (vesselType != null){ + fieldVesselTypeName.setText(vesselType.getName()); + fieldVesselTypeLength.setText("" + vesselType.getLength()); + fieldVesselTypeSpeed.setText("" + vesselType.getSpeed()); + fieldVesselTypeMaxTripDuration.setText("" + vesselType.getMaxTripDuration().getHour()); + fieldVesselTypeActivityRange.setText("" + vesselType.getActivityRange()); + fieldVesselTypeMinCrewSize.setText("" + vesselType.getMinCrewSize()); + fieldVesselTypeSpeed.setText("" + vesselType.getSpeed()); + fieldVesselTypeUnitFuelCostOfTravel.setText("" + vesselType.getUnitFuelCostOfTravel()); + setVesselTypeTripTypeModel(); + fieldVesselTypeComment.setText(vesselType.getComment()); + } + } + protected void setVesselTypeTripTypeModel(){ + java.util.List<TripType> tripTypes = getContextValue(InputAction.class).getFisheryRegion().getTripType(); + DefaultListModel model = new DefaultListModel(); + for (TripType t : tripTypes){ + model.addElement(new GenericCell(t.getName(), t, TripType.class)); + } + vesselTypeTripType.setModel(model); + } + protected void create(){ + TopiaEntity topia = getContextValue(InputAction.class).create("VesselType"); + + getParentContainer(InputUI.class).setTreeModel(); + getParentContainer(InputUI.class).setTreeSelection(topia, VesselType.class); + + setInfoText(_("isisfish.message.creation.finished")); + } + protected void save(){ + TopiaEntity topia = getContextValue(InputAction.class).save("VesselType"); + getParentContainer(InputUI.class).setTreeSelection(topia, VesselType.class); + setInfoText(_("isisfish.message.save.finished")); + refresh(); + valueChanged(false); + } + protected void cancel(){ + getContextValue(InputAction.class).cancel("VesselType"); + setInfoText(_("isisfish.message.cancel.finished")); + valueChanged(false); + refresh(); + } + protected void remove(){ + setInfoText(getContextValue(InputAction.class).remove()); + valueChanged(false); + refresh(); + } + protected void setInfoText(String txt){ + WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); + root.setInfoText(txt); + } + protected void valueChanged(boolean b){ + changed=b; + create.setEnabled(b); + save.setEnabled(b); + } + protected void goToSetOfVessels(){ + getParentContainer(InputUI.class).setTreeSelection(null, VesselType.class); + } + protected void nameChanged(){ + getContextValue(InputAction.class).getVesselType().setName(fieldVesselTypeName.getText()); + } + protected void lenghtChanged(){ + getContextValue(InputAction.class).getVesselType().setLength(Integer.parseInt(fieldVesselTypeLength.getText())); + } + protected void speedChanged(){ + getContextValue(InputAction.class).getVesselType().setSpeed(Double.parseDouble(fieldVesselTypeSpeed.getText())); + } + protected void tripDurationChanged(){ + getContextValue(InputAction.class).getVesselType().setMaxTripDuration(new TimeUnit(Double.parseDouble(fieldVesselTypeMaxTripDuration.getText()))); + } + protected void activityRangeChanged(){ + getContextValue(InputAction.class).getVesselType().setActivityRange(Double.parseDouble(fieldVesselTypeActivityRange.getText())); + } + protected void minCrewChanged(){ + getContextValue(InputAction.class).getVesselType().setMinCrewSize(Integer.parseInt(fieldVesselTypeMinCrewSize.getText())); + } + protected void unitFuelCostChanged(){ + getContextValue(InputAction.class).getVesselType().setUnitFuelCostOfTravel(Double.parseDouble(fieldVesselTypeUnitFuelCostOfTravel.getText())); + } + protected void tripTypeChanged(){ + Object[] values = vesselTypeTripType.getSelectedValues(); + Collection<TripType> tripTypes = new LinkedList<TripType>(); + for (Object o : values){ + tripTypes.add((TripType)((GenericCell)o).getValue()); + } + getContextValue(InputAction.class).getVesselType().setTripType(tripTypes); + } + protected void commentChanged(){ + getContextValue(InputAction.class).getVesselType().setComment(fieldVesselTypeComment.getText()); + } ]]></script> <Table constraints='BorderLayout.CENTER'> <row> @@ -48,7 +148,7 @@ <JLabel text="isisfish.vesselType.name"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldVesselTypeName"/> + <JTextField id="fieldVesselTypeName" onKeyTyped='nameChanged()'/> <!-- Fixme : DocumentEvents origin="$VesselType/name" <DocumentEvents onModified="Update($fieldVesselTypeName/text)"/> @@ -60,7 +160,7 @@ <JLabel text="isisfish.vesselType.length"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldVesselTypeLength"/> + <JTextField id="fieldVesselTypeLength" onKeyTyped='lenghtChanged()'/> <!-- Fixme : DocumentEvents origin="$VesselType/length" <DocumentEvents onModified="Update($fieldVesselTypeLength/text)"/> @@ -72,7 +172,7 @@ <JLabel text="isisfish.vesselType.speed"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldVesselTypeSpeed"/> + <JTextField id="fieldVesselTypeSpeed" onKeyTyped='speedChanged()'/> <!-- Fixme : DocumentEvents origin="$VesselType/speed" <DocumentEvents onModified="Update($fieldVesselTypeSpeed/text)"/> @@ -84,7 +184,7 @@ <JLabel text="isisfish.vesselType.maxDuration"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldVesselTypeMaxTripDuration"/> + <JTextField id="fieldVesselTypeMaxTripDuration" onKeyTyped='tripDurationChanged()'/> <!-- Fixeme : DocumentEvents origin="$VesselType/maxTripDuration/hour" tooltips="in hour" <DocumentEvents onModified="Update(3600 * $fieldVesselTypeMaxTripDuration/text, $VesselType/maxTripDuration)"/> @@ -96,7 +196,7 @@ <JLabel text="isisfish.vesselType.activityRange"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldVesselTypeActivityRange"/> + <JTextField id="fieldVesselTypeActivityRange" onKeyTyped='activityRangeChanged()'/> <!-- Fixme : DocumentEvents origin="$VesselType/activityRange" <DocumentEvents onModified="Update($fieldVesselTypeActivityRange/text)"/> @@ -108,7 +208,7 @@ <JLabel text="isisfish.vesselType.miniCrew"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldVesselTypeMinCrewSize"/> + <JTextField id="fieldVesselTypeMinCrewSize" onKeyTyped='minCrewChanged()'/> <!-- Fixme : DocumentEvents origin="$VesselType/minCrewSize" <DocumentEvents onModified="Update($fieldVesselTypeMinCrewSize/text)"/> @@ -120,7 +220,7 @@ <JLabel text="isisfish.vesselType.fuelCost"/> </cell> <cell fill='horizontal' weightx='1.0'> - <JTextField id="fieldVesselTypeUnitFuelCostOfTravel"/> + <JTextField id="fieldVesselTypeUnitFuelCostOfTravel" onKeyTyped='unitFuelCostChanged()'/> <!-- Fixme : DocumentEvents origin="$VesselType/unitFuelCostOfTravel" <DocumentEvents onModified="Update($fieldVesselTypeUnitFuelCostOfTravel/text)"/> @@ -133,7 +233,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='0.7'> <JScrollPane> - <JList id="vesselTypeTripType"> + <JList id="vesselTypeTripType" onValueChanged='tripTypeChanged()'> <!-- Fixme : ListModel origin="getTripType($VesselType)" renderer="name" <ListModel origin="$FisheryRegion/tripType"/> @@ -149,7 +249,7 @@ </cell> <cell fill='both' weightx='1.0' weighty='0.3'> <JScrollPane> - <JTextArea id="fieldVesselTypeComment"> + <JTextArea id="fieldVesselTypeComment" onKeyTyped='commentChanged()'> <!-- Fixme : DocumentEvents origin="$VesselType/comment <DocumentEvents onModified="Update($fieldVesselTypeComment/text)"/> @@ -166,14 +266,14 @@ <Table> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.new"/> + <JButton id='create' text="isisfish.common.new" onActionPerformed='create()'/> <!-- origin="$FisheryRegion" actionCommand='input.Input.create("VesselType")' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.save"/> + <JButton id='save' text="isisfish.common.save" onActionPerformed='save()'/> <!-- origin="$EntityModified" actionCommand='input.Input.save("VesselType", $VesselType);refreshView($inputVesselType)' @@ -182,14 +282,14 @@ </row> <row> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.cancel"/> + <JButton id='cancel' text="isisfish.common.cancel" onActionPerformed='cancel()'/> <!-- origin="$EntityModified" actionCommand='input.Input.cancel("VesselType", $VesselType);refreshView($inputVesselType)' --> </cell> <cell fill='horizontal' weightx='0.5'> - <JButton text="isisfish.common.remove"/> + <JButton id='remove' text="isisfish.common.remove" onActionPerformed='remove()'/> <!-- origin="$VesselType" actionCommand="input.Input.remove($VesselType)" @@ -203,7 +303,7 @@ <!-- <xpanel xml="input/VesselType.xml" id="inputVesselType" name="VesselType"/> --> - <JButton constraints='BorderLayout.SOUTH' text="isisfish.input.continueSetOfVessels"/> + <JButton constraints='BorderLayout.SOUTH' text="isisfish.input.continueSetOfVessels" onActionPerformed='goToSetOfVessels()'/> <!-- actionCommand="UIHelper.setTreeSelection('SetOfVessels')" --> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -54,6 +54,7 @@ protected OMToolSet toolSet = new OMToolSet(); protected boolean changed = false; public ZoneUI (InputAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); this.addFocusListener(new FocusListener() { Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResult.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResult.java 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResult.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -25,7 +25,7 @@ * Objet permettant l'affichage des donnees resultats sous forme de * matrice. */ -public class DataResult extends DataResultUI { // IfremerSimulation +public class DataResult extends DataResultUIOld { // IfremerSimulation protected MatrixND matrix; Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResultUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResultUI.jaxx (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResultUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,57 @@ +<!-- +/* *##% + * 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. + *##%*/ + +/* * + * DataResult.jaxx + * + * 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 $ + */ + --> +<Table> + <script> + <![CDATA[ + public DataResultUI (ResultAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + ]]> + </script> + <row> + <cell fill='horizontal' weightx='1.0'> + <JLabel id='descriptionLabel' text="isisfish.simulation.name"/> + </cell> + </row> + <row> + <cell fill='both' weightx='1.0' weighty='1.0'> + <JTable id="matriceTable"/> + </cell> + </row> + <row> + <cell fill='horizontal' weightx='1.0'> + <JButton id="exportButton" text="isisfish.dataResult.export.csv"/> + </cell> + </row> +</Table> Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResultUIOld.java (from rev 1562, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResultUI.java) =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResultUIOld.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResultUIOld.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,224 @@ +/** + * DataResult + * + * Generated: Thu Jul 27 22:04:41 CEST 2006 + * By GGen Copyright Code Lutin + * http://www.codelutin.com + * + */ + +package fr.ifremer.isisfish.ui.result; + +import static org.codelutin.i18n.I18nf._; + +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Toolkit; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.HashMap; +import java.util.Vector; + +import javax.swing.AbstractButton; +import javax.swing.ButtonGroup; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JViewport; +import javax.swing.ListSelectionModel; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.JTableHeader; + +public abstract class DataResultUIOld extends JPanel implements DataResultUICallback{ + + protected void init(){ + DataResultUIOld result = this; + this.setLayout(new BorderLayout()); + Vector childs = getDataResultChilds(); + if(childs.size() >= 1) + result.add((Component)childs.get(0), + BorderLayout.CENTER); + + result.setBounds(0,0,0,0); + } + + public void center(){ + // Center the screen + Toolkit tk = this.getToolkit(); + Dimension d = this.getSize(); + int x = (tk.getScreenSize().width - d.width) / 2; + int y = (tk.getScreenSize().height - d.height) / 2; + this.setLocation(x, y); + } + + protected HashMap<String,ButtonGroup> hashGroup = null; + /** + * Ajoute un bouton a un groupe + * @param b the button + * @param groupName name fo group + */ + protected void group(AbstractButton b, String groupName){ + if(hashGroup == null) + hashGroup = new HashMap<String,ButtonGroup>(); + ButtonGroup bg = hashGroup.get(groupName); + if(bg == null){ + bg = new ButtonGroup(); + hashGroup.put(groupName, bg); + } + bg.add(b); + } + + public Vector getDataResultChilds(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable2()); + return result; + } + + private JPanel __table2__ = null; + public JPanel getTable2(){ + if(__table2__ == null){ + Vector childs = getTable2Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.NONE; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 6; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.NONE; + cs[1] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 2; + c.weightx = 1; + c.weighty = 5; + c.gridwidth = 1; + c.gridheight = 4; + c.fill = GridBagConstraints.BOTH; + cs[2] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.dataResult.table2")); + + __table2__ = result; + } + return __table2__; + } + + public Vector getTable2Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getDescriptionLabel()); + result.add(getExportButton()); + result.add(getScrolledwindow2()); + return result; + } + + private JLabel __descriptionLabel__ = null; + public JLabel getDescriptionLabel(){ + if(__descriptionLabel__ == null){ + JLabel result = new JLabel(_("isisfish.simulation.name")); + result.setToolTipText(_("isisfish.dataResult.descriptionLabel")); + + __descriptionLabel__ = result; + } + return __descriptionLabel__; + } + + private JButton __exportButton__ = null; + public JButton getExportButton(){ + if(__exportButton__ == null){ + ImageIcon icon = null; + + JButton result = new JButton(_("isisfish.dataResult.export.csv"), icon); + result.setToolTipText(_("isisfish.dataResult.exportButton")); + result.addMouseListener(new MouseAdapter(){ + public void mouseClicked(MouseEvent e){ + on_exportButton_clicked(); + } + }); + + __exportButton__ = result; + } + return __exportButton__; + } + + private JScrollPane __scrolledwindow2__ = null; + public JScrollPane getScrolledwindow2(){ + if(__scrolledwindow2__ == null){ + Vector childs = getScrolledwindow2Childs(); + Component child = null; + if(childs.size() >= 1) + child = (Component)childs.get(0); + + JScrollPane result; + if(child instanceof JViewport){ + result = new JScrollPane(); + result.setViewport((JViewport)child); + } + else + result = new JScrollPane(child); + result.setToolTipText(_("isisfish.dataResult.scrolledwindow2")); + + __scrolledwindow2__ = result; + } + return __scrolledwindow2__; + } + + public Vector getScrolledwindow2Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getMatriceTable()); + return result; + } + + private JTable __matriceTable__ = null; + public JTable getMatriceTable(){ + if(__matriceTable__ == null){ + Vector head = getMatriceTableHead(); + JTable result = + new JTable(new DefaultTableModel(new Vector(), head)); + result.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + setSignalMatriceTableHeader(result); + result.setToolTipText(_("isisfish.dataResult.matriceTable")); + + __matriceTable__ = result; + } + return __matriceTable__; + } + + public Vector getMatriceTableHead(){ + Vector<String> result = new Vector<String>(); + result.add(_("isisfish.dataResult.label")); + result.add(_("isisfish.dataResult.label")); + result.add(_("isisfish.dataResult.label")); + return result; + } + + public void setSignalMatriceTableHeader(JTable table){ + JTableHeader result = table.getTableHeader(); + } + + + +} Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/DataResultUIOld.java ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:mergeinfo + Name: svn:eol-style + native Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBean.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBean.java 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBean.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -27,7 +27,7 @@ * @version */ -public class GraphBean extends GraphBeanUI implements GraphBeanUICallback,GraphListener { +public class GraphBean extends GraphBeanUIOld implements GraphBeanUICallback,GraphListener { protected GraphBeanModel model; protected ChartPropertyEditPanel graphPalette; Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUI.jaxx (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,149 @@ +<!-- +/* *##% + * 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. + *##%*/ + +/* * + * DataResult.jaxx + * + * 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 $ + */ + --> +<Table> + <script> + <![CDATA[ + import com.jrefinery.chart.*; + import com.jrefinery.chart.ui.ChartPropertyEditPanel; + + protected GraphBeanModel model; + protected JFreeChart chart; + protected ChartPropertyEditPanel graphPalette; + protected ChartPanel chartPanel; + + init(); + public GraphBeanUI (ResultAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + protected void init(){ + model = new GraphBeanModel(); + JFreeChart chart = new JFreeChart(model.getTitle(), + JFreeChart.DEFAULT_TITLE_FONT, + model.getCategoryPlot(), + true); + graphPalette = new ChartPropertyEditPanel(chart); + jpanel1.add(graphPalette); + chartPanel = new ChartPanel(chart,true,true,true,true,true); + jpanel2.add(chartPanel); + model.addGraphListener(new GraphListener() { + + @Override + public void graphChanged(GraphEvent e) { + + } + public void on_graphRendererCombo_selectionChanged(ItemEvent e){ + if (e.getStateChange() == ItemEvent.SELECTED){ + model.setRenderer((CategoryItemRenderer)graphRenderer.getSelectedItem()); + } + } + + }); + } + protected DefaultComboBoxModel loadGraphRendererCombo(){ + DefaultComboBoxModel model = new DefaultComboBoxModel(); + model.addElement(new VerticalBarRenderer()); + model.addElement(new VerticalBarRenderer3D()); + model.addElement(new StackedVerticalBarRenderer()); + // model.addElement(new VerticalIntervalBarRenderer()); + //model.addElement(new VerticalStatisticalBarRenderer()); + model.addElement(new HorizontalBarRenderer()); + // model.addElement(new HorizontalBarRenderer3D()); + model.addElement(new StackedHorizontalBarRenderer()); + // model.addElement(new HorizontalIntervalBarRenderer()); + //model.addElement(new HorizontalShapeRenderer()); + model.addElement(new AreaCategoryItemRenderer()); + model.addElement(new LineAndShapeRenderer()); + model.addElement(new MinMaxCategoryRenderer()); + model.setSelectedItem(null); + return model; + } + + protected void displayGraph(){ + + jaxx.runtime.Util.assignment(chart = new JFreeChart(model.getTitle(), JFreeChart.DEFAULT_TITLE_FONT, model.getCategoryPlot(), true), "chart", fr.ifremer.isisfish.ui.result.GraphBeanUI.this); + + jaxx.runtime.Util.assignment(chartPanel = new ChartPanel(chart,true,true,true,true,true), "chartPanel", fr.ifremer.isisfish.ui.result.GraphBeanUI.this); + jaxx.runtime.Util.assignment(graphPalette = new ChartPropertyEditPanel(chart), "graphPalette", fr.ifremer.isisfish.ui.result.GraphBeanUI.this); + + //getGraphSplitPane().setDividerLocation(1.0); + + graphPalette.removeAll(); + palettePanel.removeAll(); + graphPalette.add(chartPanel); + palettePanel.add(graphPalette); + graphPalette.invalidate(); + palettePanel.invalidate(); + graphPalette.validate(); + palettePanel.validate(); + graphPalette.repaint(); + palettePanel.repaint(); + } + protected void graphRenderChanged(){ + model.setRenderer((CategoryItemRenderer)graphRenderer.getSelectedItem()); + displayGraph(); + } + public void appliquer(){ + graphPalette.updateChartProperties(chart); + } + ]]> + </script> + <row> + <cell fill='horizontal' weightx='0.5'> + <JLabel id='label' text='isisfish.graphBean.graph.render'/> + </cell> + <cell fill='horizontal' weightx='0.5'> + <JComboBox id='graphRenderer' model='{loadGraphRendererCombo()}' renderer='{new GraphComboRenderer()}' onActionPerformed='graphRenderChanged()'/> + </cell> + </row> + <row> + <cell columns='2' fill='both' weightx='1.0' weighty='1.0'> + <JPanel id='jpanel1' layout='{new BorderLayout()}'/> + </cell> + </row> + <row> + <cell columns='2' fill='both' weightx='1.0' weighty='1.0'> + <JPanel id='jpanel2' layout='{new BorderLayout()}'/> + </cell> + </row> + <row> + <cell columns='2' fill='both' weightx='1.0' weighty='1.0'> + <JPanel id='palettePanel' layout='{new BorderLayout()}'/> + </cell> + </row> + <row> + <cell columns='2' fill='both' weightx='1.0' weighty='1.0'> + <JButton id='appliquer' text="isisfish.common.apply" onActionPerformed='appliquer()'/> + </cell> + </row> +</Table> Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUIOld.java (from rev 1562, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUI.java) =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUIOld.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUIOld.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,390 @@ +/** + * GraphBean + * + * Generated: Thu Jul 27 22:04:40 CEST 2006 + * By GGen Copyright Code Lutin + * http://www.codelutin.com + * + */ + +package fr.ifremer.isisfish.ui.result; + +import static org.codelutin.i18n.I18nf._; + +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Toolkit; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.HashMap; +import java.util.Vector; + +import javax.swing.AbstractButton; +import javax.swing.ButtonGroup; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JSplitPane; +import javax.swing.JViewport; + +public abstract class GraphBeanUIOld extends JPanel implements GraphBeanUICallback{ + + protected void init(){ + GraphBeanUIOld result = this; + this.setLayout(new BorderLayout()); + Vector childs = getGraphBeanChilds(); + if(childs.size() >= 1) + result.add((Component)childs.get(0), + BorderLayout.CENTER); + + result.setBounds(0,0,0,0); + } + + public void center(){ + // Center the screen + Toolkit tk = this.getToolkit(); + Dimension d = this.getSize(); + int x = (tk.getScreenSize().width - d.width) / 2; + int y = (tk.getScreenSize().height - d.height) / 2; + this.setLocation(x, y); + } + + protected HashMap<String,ButtonGroup> hashGroup = null; + + protected void group(AbstractButton b, String groupName){ + if(hashGroup == null) + hashGroup = new HashMap<String,ButtonGroup>(); + ButtonGroup bg = hashGroup.get(groupName); + if(bg == null){ + bg = new ButtonGroup(); + hashGroup.put(groupName, bg); + } + bg.add(b); + } + + public Vector getGraphBeanChilds(){ + Vector<Object> result = new Vector<Object>(); + result.add(getGraphSplitPane()); + return result; + } + + private JSplitPane __graphSplitPane__ = null; + public JSplitPane getGraphSplitPane(){ + if(__graphSplitPane__ == null){ + Vector childs = getGraphSplitPaneChilds(); + Component child1 = null; + Component child2 = null; + if(childs.size() >= 1) + child1 = (Component)childs.get(0); + if(childs.size() >= 2) + child2 = (Component)childs.get(1); + + JSplitPane result = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, + child1, child2); + result.setOneTouchExpandable(true); + result.setDividerSize(10); + + result.setToolTipText(_("isisfish.graphBean.graphSplitPane")); + + __graphSplitPane__ = result; + } + return __graphSplitPane__; + } + + public Vector getGraphSplitPaneChilds(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable3()); + result.add(getTable1()); + return result; + } + + private JPanel __table3__ = null; + public JPanel getTable3(){ + if(__table3__ == null){ + Vector childs = getTable3Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 0; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.NONE; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 1; + c.weightx = 1; + c.weighty = 3; + c.gridwidth = 2; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[1] = c; + + c = new GridBagConstraints(); + c.gridx = 1; + c.gridy = 0; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.HORIZONTAL; + cs[2] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.graphBean.table3")); + + __table3__ = result; + } + return __table3__; + } + + public Vector getTable3Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getLabel1()); + result.add(getScrolledwindow1()); + result.add(getGraphRendererCombo()); + return result; + } + + private JLabel __label1__ = null; + public JLabel getLabel1(){ + if(__label1__ == null){ + JLabel result = new JLabel(_("isisfish.graphBean.graph.render")); + result.setToolTipText(_("isisfish.graphBean.label")); + + __label1__ = result; + } + return __label1__; + } + + private JScrollPane __scrolledwindow1__ = null; + public JScrollPane getScrolledwindow1(){ + if(__scrolledwindow1__ == null){ + Vector childs = getScrolledwindow1Childs(); + Component child = null; + if(childs.size() >= 1) + child = (Component)childs.get(0); + + JScrollPane result; + if(child instanceof JViewport){ + result = new JScrollPane(); + result.setViewport((JViewport)child); + } + else + result = new JScrollPane(child); + result.setToolTipText(_("isisfish.graphBean.scrolledwindow")); + + __scrolledwindow1__ = result; + } + return __scrolledwindow1__; + } + + public Vector getScrolledwindow1Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getViewport1()); + return result; + } + + private JViewport __viewport1__ = null; + public JViewport getViewport1(){ + if(__viewport1__ == null){ + JViewport result = new JViewport(); + Vector childs = getViewport1Childs(); + for (Object child : childs) result.add((Component) child); + + __viewport1__ = result; + } + return __viewport1__; + } + + public Vector getViewport1Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable99()); + return result; + } + + private JPanel __table99__ = null; + public JPanel getTable99(){ + if(__table99__ == null){ + Vector childs = getTable99Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[0] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.graphBean.table")); + + __table99__ = result; + } + return __table99__; + } + + public Vector getTable99Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getGraphPanel()); + return result; + } + + private javax.swing.JPanel __graphPanel__ = null; + public javax.swing.JPanel getGraphPanel(){ + if(__graphPanel__ == null){ + javax.swing.JPanel result = new javax.swing.JPanel(); + result.setToolTipText(_("isisfish.graphBean.graphPanel")); + + __graphPanel__ = result; + } + return __graphPanel__; + } + + private JComboBox __graphRendererCombo__ = null; + public JComboBox getGraphRendererCombo(){ + if(__graphRendererCombo__ == null){ + JComboBox result = new JComboBox(); + result.setEditable(true); + result.setToolTipText(_("isisfish.graphBean.graphRendererCombo")); + result.addItemListener(new ItemListener(){ + public void itemStateChanged(ItemEvent e){ + on_graphRendererCombo_selectionChanged(e); + } + }); + + __graphRendererCombo__ = result; + } + return __graphRendererCombo__; + } + + private JPanel __table1__ = null; + public JPanel getTable1(){ + if(__table1__ == null){ + Vector childs = getTable1Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 1; + c.weightx = 1; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.NONE; + cs[1] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.graphBean.table")); + + __table1__ = result; + } + return __table1__; + } + + public Vector getTable1Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable2()); + result.add(getAppliquer()); + return result; + } + + private JPanel __table2__ = null; + public JPanel getTable2(){ + if(__table2__ == null){ + Vector childs = getTable2Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[0] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.graphBean.table")); + + __table2__ = result; + } + return __table2__; + } + + public Vector getTable2Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getPalettePanel()); + return result; + } + + private javax.swing.JPanel __palettePanel__ = null; + public javax.swing.JPanel getPalettePanel(){ + if(__palettePanel__ == null){ + javax.swing.JPanel result = new javax.swing.JPanel(); + result.setToolTipText(_("isisfish.graphBean.palettePanel")); + + __palettePanel__ = result; + } + return __palettePanel__; + } + + private JButton __appliquer__ = null; + public JButton getAppliquer(){ + if(__appliquer__ == null){ + ImageIcon icon = null; + + JButton result = new JButton(_("isisfish.common.apply"), icon); + result.setToolTipText(_("isisfish.common.apply")); + result.addMouseListener(new MouseAdapter(){ + public void mouseClicked(MouseEvent e){ + on_appliquer_clicked(); + } + }); + + __appliquer__ = result; + } + return __appliquer__; + } + + + +} Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUIOld.java ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:mergeinfo + Name: svn:eol-style + native Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultAction.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultAction.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,47 @@ +/* *##% + * 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 $ + */ + +package fr.ifremer.isisfish.ui.result; + +import fr.ifremer.isisfish.datastore.SimulationStorage; + +public class ResultAction { + SimulationStorage simulation; + public ResultAction(){ + + } + public void open(String name){ + simulation = SimulationStorage.getSimulation(name); + } + public SimulationStorage getSimulationStorage(){ + return simulation; + } +} Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEdit.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEdit.java 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEdit.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -55,7 +55,7 @@ import fr.ifremer.isisfish.simulator.SimulationParameter; import fr.ifremer.isisfish.types.Date; -public class ResultEdit extends ResultEditUI { // ResultatEdit2 +public class ResultEdit extends ResultEditUIold { // ResultatEdit2 /** to use log facility, just put in your code: log.info("..."); */ static private Log log = LogFactory.getLog(ResultEdit.class); Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEditUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEditUI.jaxx (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEditUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,205 @@ +<!-- +/* *##% + * 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 $ + */ + --> +<JInternalFrame title='{getFrameName()}' size='{new Dimension(800,600)}' resizable="true" location='{new Point(0,23)}' layout='{new BorderLayout()}'> + <script> + <![CDATA[ + public ResultEditUI (ResultAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + protected String getFrameName(){ + return getContextValue(ResultAction.class).getSimulationStorage().getName(); + } + protected void resultatChanged(){ + } + protected void changePanel(String s) { + ((CardLayout) content.getLayout()).show(content, s); + } + ]]> + </script> + <JSplitPane constraints='BorderLayout.CENTER' orientation="HORIZONTAL"> + <JPanel layout='{new BorderLayout()}'> + <JComboBox id='resultat' constraints='BorderLayout.NORTH' onActionPerformed='resultatChanged()'/> +<!-- + JComboBox result = new JComboBox(); + result.setEditable(true); + result.setToolTipText(_("isisfish.result.resultat")); + result.addItemListener(new ItemListener(){ + public void itemStateChanged(ItemEvent e){ + on_resultat_selection_notify_event(e); + } + }); +--> + <JTree constraints='BorderLayout.CENTER'> + + </JTree> + </JPanel> + <JPanel layout='{new BorderLayout()}'> + <JPanel id='content' layout='{new CardLayout()}' constraints='BorderLayout.CENTER'> + <DataResultUI id='dataResult' constraints='new String("dataResult")' constructorParams='getContextValue(ResultAction.class)'/> +<!-- +DataResult +SimpleResultatMapBean +GraphBean +ResumePanel +--> + <SimpleResultatMapBeanUI id='simpleResultatMapBean' constraints='new String("simpleResultatMapBean")' constructorParams='getContextValue(ResultAction.class)'/> + <GraphBeanUI id='graphBean' constraints='new String("graphBean")' constructorParams='getContextValue(ResultAction.class)'/> + <ResumePanelUI id='resumeBean' constraints='new String("resumeBean")' constructorParams='getContextValue(ResultAction.class)'/> + </JPanel> + <Table constraints='BorderLayout.SOUTH'> + <row> + <cell fill='horizontal' weightx='0.2'> + <JRadioButton id='graphRadioButton' text='isisfish.result.graph' buttonGroup='radioGroup' onActionPerformed='changePanel("graphBean")'/> + </cell> + <cell fill='horizontal' weightx='0.2'> + <JRadioButton id='mapRadioButton' text='isisfish.result.map' buttonGroup='radioGroup' onActionPerformed='changePanel("simpleResultatMapBean")'/> + </cell> + <cell fill='horizontal' weightx='0.2'> + <JRadioButton id='donneeRadioButton' text='isisfish.result.datas' buttonGroup='radioGroup' onActionPerformed='changePanel("dataResult")'/> + </cell> + <cell fill='horizontal' weightx='0.2'> + <JRadioButton id='resumeRadioButton' text='isisfish.result.summary' buttonGroup='radioGroup' onActionPerformed='changePanel("resumeBean")'/> + </cell> +<!-- + + + + <item value='{progressBarDemo}'/> + </JTree> + </JScrollPane> + + <java.awt.CardLayout id='cardLayout'/> + + <JPanel id='preview' layout='{cardLayout}'> + + + + + private JRadioButton __graphRadioButton__ = null; + public JRadioButton getGraphRadioButton(){ + if(__graphRadioButton__ == null){ + JRadioButton result = new JRadioButton(_("isisfish.result.graph"), false); + result.setToolTipText(_("isisfish.result.graphRadioButton")); + result.addChangeListener(new ChangeListener(){ + public void stateChanged(ChangeEvent e){ + on_graphRadioButton_toggled(e); + } + }); + + __graphRadioButton__ = result; + } + return __graphRadioButton__; + } + + private JRadioButton __mapRadioButton__ = null; + public JRadioButton getMapRadioButton(){ + if(__mapRadioButton__ == null){ + JRadioButton result = new JRadioButton(_("isisfish.result.map"), false); + result.setToolTipText(_("isisfish.result.mapRadioButton")); + result.addChangeListener(new ChangeListener(){ + public void stateChanged(ChangeEvent e){ + on_mapRadioButton_toggled(e); + } + }); + + __mapRadioButton__ = result; + } + return __mapRadioButton__; + } + + private JRadioButton __donneeRadioButton__ = null; + public JRadioButton getDonneeRadioButton(){ + if(__donneeRadioButton__ == null){ + JRadioButton result = new JRadioButton(_("isisfish.result.datas"), false); + result.setToolTipText(_("isisfish.result.datasRadioButton")); + result.addChangeListener(new ChangeListener(){ + public void stateChanged(ChangeEvent e){ + on_donneeRadioButton_toggled(e); + } + }); + + __donneeRadioButton__ = result; + } + return __donneeRadioButton__; + } + + private JRadioButton __resumeRadioButton__ = null; + public JRadioButton getResumeRadioButton(){ + if(__resumeRadioButton__ == null){ + JRadioButton result = new JRadioButton(_("isisfish.result.summary"), false); + result.setToolTipText(_("isisfish.result.summaryRadioButton")); + result.addChangeListener(new ChangeListener(){ + public void stateChanged(ChangeEvent e){ + on_resumeRadioButton_toggled(e); + } + }); + + __resumeRadioButton__ = result; + } + return __resumeRadioButton__; + } + +--> + </row> + </Table> + </JPanel> + </JSplitPane> + <JPanel constraints='BorderLayout.SOUTH' layout='{new BorderLayout()}'> + <JLabel id='statusbar' constraints='BorderLayout.WEST'/> +<!-- +public JLabel getStatusbar1(){ + if(__statusbar1__ == null){ + JLabel result = new JLabel(_("isisfish.result.statusBar")); + result.setToolTipText(_("isisfish.result.statusBar")); + + __statusbar1__ = result; + } +--> + + <JPanel constraints='BorderLayout.CENTER'/> + <JButton id='ajoutRendu' constraints='BorderLayout.EAST' text='isisfish.common.add.short'/> +<!-- + + ImageIcon icon = null; + + JButton result = new JButton(_("isisfish.common.add.short"), icon); + result.setToolTipText(_("isisfish.result.add")); + result.addMouseListener(new MouseAdapter(){ + public void mouseClicked(MouseEvent e){ + on_ajoutRendu_clicked(); + } + }); +--> + </JPanel> +</JInternalFrame> \ No newline at end of file Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEditUIold.java (from rev 1562, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEditUI.java) =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEditUIold.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEditUIold.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,702 @@ +/** + * ResultEdit + * + * Generated: Thu Jul 27 22:04:42 CEST 2006 + * By GGen Copyright Code Lutin + * http://www.codelutin.com + * + */ + +package fr.ifremer.isisfish.ui.result; + +import static org.codelutin.i18n.I18nf._; + +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Toolkit; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.HashMap; +import java.util.Vector; + +import javax.swing.AbstractButton; +import javax.swing.Box; +import javax.swing.ButtonGroup; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.JScrollPane; +import javax.swing.JSeparator; +import javax.swing.JSplitPane; +import javax.swing.JViewport; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +public abstract class ResultEditUIold extends JFrame implements ResultEditUICallback{ + + public ResultEditUIold(){ + super(_("isisfish.result.title")); + } + + protected void init(){ + ResultEditUIold result = this; + this.getContentPane().setLayout(new BorderLayout()); + Vector childs = getResultatEditChilds(); + if(childs.size() >= 1) + result.getContentPane().add((Component)childs.get(0), + BorderLayout.CENTER); + + this.setJMenuBar(getMenubar2()); + this.pack(); + + } + + public void center(){ + // Center the screen + Toolkit tk = this.getToolkit(); + Dimension d = this.getSize(); + int x = (tk.getScreenSize().width - d.width) / 2; + int y = (tk.getScreenSize().height - d.height) / 2; + this.setLocation(x, y); + } + + protected HashMap<String,ButtonGroup> hashGroup = null; + /** + * Ajoute un bouton a un groupe + * @param b the button + * @param groupName name fo group + */ + protected void group(AbstractButton b, String groupName){ + if(hashGroup == null) + hashGroup = new HashMap<String,ButtonGroup>(); + ButtonGroup bg = hashGroup.get(groupName); + if(bg == null){ + bg = new ButtonGroup(); + hashGroup.put(groupName, bg); + } + bg.add(b); + } + + public Vector getResultatEditChilds(){ + Vector<Object> result = new Vector<Object>(); + result.add(getVbox2()); + return result; + } + + private Box __vbox2__ = null; + public Box getVbox2(){ + if(__vbox2__ == null){ + Vector childs = getVbox2Childs(); + Box result = Box.createVerticalBox(); + for (Object child : childs) result.add((Component) child); + result.setToolTipText(_("isisfish.result.vbox")); + + __vbox2__ = result; + } + return __vbox2__; + } + + public Vector getVbox2Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable23()); + return result; + } + + private JMenuBar __menubar2__ = null; + public JMenuBar getMenubar2(){ + if(__menubar2__ == null){ + Vector childs = getMenubar2Childs(); + JMenuBar result = new JMenuBar(); + for (Object child : childs) result.add((JMenuItem) child); + result.setToolTipText(_("isisfish.result.menubar")); + + __menubar2__ = result; + } + return __menubar2__; + } + + public Vector getMenubar2Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getMenuExport()); + return result; + } + + private JMenu __menuExport__ = null; + public JMenu getMenuExport(){ + if(__menuExport__ == null){ + Vector childs = getMenuExport_menuChilds(); + JMenu result = new JMenu(_("isisfish.result.export")); + for (Object child : childs) result.add((Component) child); + result.setToolTipText(_("isisfish.result.menuExport")); + + __menuExport__ = result; + } + return __menuExport__; + } + + public Vector getMenuExport_menuChilds(){ + Vector<Object> result = new Vector<Object>(); + result.add(getMenuitem6()); + return result; + } + + private JSeparator __menuitem6__ = null; + public JSeparator getMenuitem6(){ + if(__menuitem6__ == null){ + JSeparator result = new JSeparator(); + result.setToolTipText(_("isisfish.result.menuitem")); + + __menuitem6__ = result; + } + return __menuitem6__; + } + + private JPanel __table23__ = null; + public JPanel getTable23(){ + if(__table23__ == null){ + Vector childs = getTable23Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 1; + c.weightx = 0; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.HORIZONTAL; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[1] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.result.table")); + + __table23__ = result; + } + return __table23__; + } + + public Vector getTable23Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable22()); + result.add(getHpaned2()); + return result; + } + + private JPanel __table22__ = null; + public JPanel getTable22(){ + if(__table22__ == null){ + Vector childs = getTable22Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 1; + c.gridy = 0; + c.weightx = 0; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.NONE; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.HORIZONTAL; + cs[1] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.result.table")); + + __table22__ = result; + } + return __table22__; + } + + public Vector getTable22Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getStatusImage()); + result.add(getStatusbar1()); + return result; + } + + private JButton __statusImage__ = null; + public JButton getStatusImage(){ + if(__statusImage__ == null){ + ImageIcon icon = null; + + JButton result = new JButton(_("isisfish.common.blank"), icon); + result.setToolTipText(_("isisfish.result.statusImage")); + + __statusImage__ = result; + } + return __statusImage__; + } + + private JLabel __statusbar1__ = null; + public JLabel getStatusbar1(){ + if(__statusbar1__ == null){ + JLabel result = new JLabel(_("isisfish.result.statusBar")); + result.setToolTipText(_("isisfish.result.statusBar")); + + __statusbar1__ = result; + } + return __statusbar1__; + } + + private JSplitPane __hpaned2__ = null; + public JSplitPane getHpaned2(){ + if(__hpaned2__ == null){ + Vector childs = getHpaned2Childs(); + Component child1 = null; + Component child2 = null; + if(childs.size() >= 1) + child1 = (Component)childs.get(0); + if(childs.size() >= 2) + child2 = (Component)childs.get(1); + + JSplitPane result = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, + child1, child2); + result.setOneTouchExpandable(true); + result.setDividerSize(10); + + result.setToolTipText(_("isisfish.result.hpaned")); + + __hpaned2__ = result; + } + return __hpaned2__; + } + + public Vector getHpaned2Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable1()); + result.add(getTable25()); + return result; + } + + private JPanel __table1__ = null; + public JPanel getTable1(){ + if(__table1__ == null){ + Vector childs = getTable1Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 1; + c.weightx = 1; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.HORIZONTAL; + cs[1] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.result.table")); + + __table1__ = result; + } + return __table1__; + } + + public Vector getTable1Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable7()); + result.add(getResultat()); + return result; + } + + private JPanel __table7__ = null; + public JPanel getTable7(){ + if(__table7__ == null){ + Vector childs = getTable7Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 1; + c.gridy = 0; + c.weightx = 0; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[1] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.result.table")); + + __table7__ = result; + } + return __table7__; + } + + public Vector getTable7Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable8()); + result.add(getScroll()); + return result; + } + + private JPanel __table8__ = null; + public JPanel getTable8(){ + if(__table8__ == null){ + Vector childs = getTable8Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 0; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.NONE; + cs[0] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.result.table")); + + __table8__ = result; + } + return __table8__; + } + + public Vector getTable8Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getAjoutRendu()); + return result; + } + + private JButton __ajoutRendu__ = null; + public JButton getAjoutRendu(){ + if(__ajoutRendu__ == null){ + ImageIcon icon = null; + + JButton result = new JButton(_("isisfish.common.add.short"), icon); + result.setToolTipText(_("isisfish.result.add")); + result.addMouseListener(new MouseAdapter(){ + public void mouseClicked(MouseEvent e){ + on_ajoutRendu_clicked(); + } + }); + + __ajoutRendu__ = result; + } + return __ajoutRendu__; + } + + private JScrollPane __scroll__ = null; + public JScrollPane getScroll(){ + if(__scroll__ == null){ + Vector childs = getScrollChilds(); + Component child = null; + if(childs.size() >= 1) + child = (Component)childs.get(0); + + JScrollPane result; + if(child instanceof JViewport){ + result = new JScrollPane(); + result.setViewport((JViewport)child); + } + else + result = new JScrollPane(child); + result.setToolTipText(_("isisfish.result.scroll")); + + __scroll__ = result; + } + return __scroll__; + } + + public Vector getScrollChilds(){ + Vector<Object> result = new Vector<Object>(); + result.add(getInfoPanel()); + return result; + } + + private JPanel __infoPanel__ = null; + public JPanel getInfoPanel(){ + if(__infoPanel__ == null){ + Vector childs = getInfoPanelChilds(); + GridBagConstraints [] cs; + cs = new GridBagConstraints[childs.size()]; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.result.infoPanel")); + + __infoPanel__ = result; + } + return __infoPanel__; + } + + public Vector getInfoPanelChilds(){ + Vector<Object> result; + result = new Vector<Object>(); + return result; + } + + private JComboBox __resultat__ = null; + public JComboBox getResultat(){ + if(__resultat__ == null){ + JComboBox result = new JComboBox(); + result.setEditable(true); + result.setToolTipText(_("isisfish.result.resultat")); + result.addItemListener(new ItemListener(){ + public void itemStateChanged(ItemEvent e){ + on_resultat_selection_notify_event(e); + } + }); + + __resultat__ = result; + } + return __resultat__; + } + + private JPanel __table25__ = null; + public JPanel getTable25(){ + if(__table25__ == null){ + Vector childs = getTable25Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 1; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.HORIZONTAL; + cs[1] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.result.table")); + + __table25__ = result; + } + return __table25__; + } + + public Vector getTable25Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getViewPanel()); + result.add(getTable26()); + return result; + } + + private javax.swing.JPanel __viewPanel__ = null; + public javax.swing.JPanel getViewPanel(){ + if(__viewPanel__ == null){ + javax.swing.JPanel result = new javax.swing.JPanel(); + result.setToolTipText(_("isisfish.result.viewPanel")); + + __viewPanel__ = result; + } + return __viewPanel__; + } + + private JPanel __table26__ = null; + public JPanel getTable26(){ + if(__table26__ == null){ + Vector childs = getTable26Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.NONE; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 1; + c.gridy = 0; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.NONE; + cs[1] = c; + + c = new GridBagConstraints(); + c.gridx = 2; + c.gridy = 0; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.NONE; + cs[2] = c; + + c = new GridBagConstraints(); + c.gridx = 3; + c.gridy = 0; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.NONE; + cs[3] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.result.table")); + + __table26__ = result; + } + return __table26__; + } + + public Vector getTable26Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getGraphRadioButton()); + result.add(getMapRadioButton()); + result.add(getDonneeRadioButton()); + result.add(getResumeRadioButton()); + return result; + } + + private JRadioButton __graphRadioButton__ = null; + public JRadioButton getGraphRadioButton(){ + if(__graphRadioButton__ == null){ + JRadioButton result = new JRadioButton(_("isisfish.result.graph"), false); + result.setToolTipText(_("isisfish.result.graphRadioButton")); + result.addChangeListener(new ChangeListener(){ + public void stateChanged(ChangeEvent e){ + on_graphRadioButton_toggled(e); + } + }); + + __graphRadioButton__ = result; + } + return __graphRadioButton__; + } + + private JRadioButton __mapRadioButton__ = null; + public JRadioButton getMapRadioButton(){ + if(__mapRadioButton__ == null){ + JRadioButton result = new JRadioButton(_("isisfish.result.map"), false); + result.setToolTipText(_("isisfish.result.mapRadioButton")); + result.addChangeListener(new ChangeListener(){ + public void stateChanged(ChangeEvent e){ + on_mapRadioButton_toggled(e); + } + }); + + __mapRadioButton__ = result; + } + return __mapRadioButton__; + } + + private JRadioButton __donneeRadioButton__ = null; + public JRadioButton getDonneeRadioButton(){ + if(__donneeRadioButton__ == null){ + JRadioButton result = new JRadioButton(_("isisfish.result.datas"), false); + result.setToolTipText(_("isisfish.result.datasRadioButton")); + result.addChangeListener(new ChangeListener(){ + public void stateChanged(ChangeEvent e){ + on_donneeRadioButton_toggled(e); + } + }); + + __donneeRadioButton__ = result; + } + return __donneeRadioButton__; + } + + private JRadioButton __resumeRadioButton__ = null; + public JRadioButton getResumeRadioButton(){ + if(__resumeRadioButton__ == null){ + JRadioButton result = new JRadioButton(_("isisfish.result.summary"), false); + result.setToolTipText(_("isisfish.result.summaryRadioButton")); + result.addChangeListener(new ChangeListener(){ + public void stateChanged(ChangeEvent e){ + on_resumeRadioButton_toggled(e); + } + }); + + __resumeRadioButton__ = result; + } + return __resumeRadioButton__; + } + + + +} Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultEditUIold.java ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:mergeinfo + Name: svn:eol-style + native Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResultUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -31,15 +31,47 @@ */ --> <JPanel layout='{new BorderLayout()}'> + <script> + <![CDATA[ + import fr.ifremer.isisfish.ui.Common; + public ResultUI (ResultAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + protected void open(){ + String name = (String)selSimulation.getSelectedItem(); + if (name != null){ + getContextValue(ResultAction.class).open(name); +// ResultEdit resEdit = new ResultEdit(getContextValue(ResultAction.class).getSimulationStorage()); +// JInternalFrame intFrame = +// new JInternalFrame(resEdit.getSimulation().getName(), +// true, //resizable +// true, //closable +// true, //maximizable +// true);//iconifiable +// intFrame.setContentPane(resEdit.getRootPane()); +// intFrame.setVisible(true); + // intFrame.pack(); +// intFrame.setSize(new Dimension(800,700)); + desktopPane.add(new ResultEditUI(getContextValue(ResultAction.class))); +// try{ +// intFrame.setSelected(true); +// } catch (PropertyVetoException eee) { +// log.warn("Error dans l internalFrame ", eee); +// } + } + } + ]]> + </script> <Table constraints='BorderLayout.NORTH'> <row> <cell fill="horizontal" weightx="0.2"> <JLabel text='isisfish.result.choose.simulation' toolTipText='isisfish.result.label'/> </cell> <cell fill="horizontal"> - <JComboBox id='selSimulation' editable='true' toolTipText='isisfish.result.simulation'/> + <JComboBox id='selSimulation' editable='true' toolTipText='isisfish.result.simulation' model='{new DefaultComboBoxModel(Common.getOldSimulationItem())}'/> <!-- - model='{new DefaultComboBoxModel(Common.getOldSimulationItem())}' + addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent e){ on_simulation_selection_notify_event(e); @@ -60,9 +92,9 @@ --> </cell> <cell fill="horizontal" weightx="0.2"> - <JButton id='openWindowButton' text='isisfish.result.new.window' toolTipText='isisfish.result.openWindowButton'/> + <JButton id='openWindowButton' text='isisfish.result.new.window' toolTipText='isisfish.result.openWindowButton' onActionPerformed='open()'/> <!-- - onActionPerformed='open()' + result.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent e){ on_openWindowButton_clicked(); @@ -94,5 +126,5 @@ </cell> </row> </Table> - <JDesktopPane constraints='BorderLayout.CENTER'/> + <JDesktopPane id='desktopPane' constraints='BorderLayout.CENTER'/> </JPanel> \ No newline at end of file Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanel.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanel.java 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanel.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -10,7 +10,7 @@ * @version */ -public class ResumePanel extends ResumePanelUI { +public class ResumePanel extends ResumePanelUIOld { protected String resume; // protected Vector vmatInfo; Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanelUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanelUI.jaxx (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanelUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,45 @@ +<!-- +/* *##% + * 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. + *##%*/ + +/* * + * DataResult.jaxx + * + * 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 layout='{new BorderLayout()}'> + <script> + <![CDATA[ + public ResumePanelUI (ResultAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + ]]> + </script> + <JScrollPane> + <JTextArea id='resumeTextArea' text='isisfish.common.blank' editable='false'/> + </JScrollPane> +</JPanel> Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanelUIOld.java (from rev 1562, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanelUI.java) =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanelUIOld.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanelUIOld.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,184 @@ +/** + * ResumePanel + * + * Generated: Thu Jul 27 22:04:44 CEST 2006 + * By GGen Copyright Code Lutin + * http://www.codelutin.com + * + */ + +package fr.ifremer.isisfish.ui.result; + +import static org.codelutin.i18n.I18nf._; + +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Toolkit; +import java.util.HashMap; +import java.util.Vector; + +import javax.swing.AbstractButton; +import javax.swing.ButtonGroup; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.JViewport; + +public abstract class ResumePanelUIOld extends JPanel implements ResumePanelUICallback{ + + protected void init(){ + ResumePanelUIOld result = this; + this.setLayout(new BorderLayout()); + Vector childs = getResumePanelChilds(); + if(childs.size() >= 1) + result.add((Component)childs.get(0), + BorderLayout.CENTER); + + result.setBounds(0,0,0,0); + } + + public void center(){ + // Center the screen + Toolkit tk = this.getToolkit(); + Dimension d = this.getSize(); + int x = (tk.getScreenSize().width - d.width) / 2; + int y = (tk.getScreenSize().height - d.height) / 2; + this.setLocation(x, y); + } + + protected HashMap<String,ButtonGroup> hashGroup = null; + /** + * Ajoute un bouton a un groupe + * @param b the button + * @param groupName name fo group + */ + protected void group(AbstractButton b, String groupName){ + if(hashGroup == null) + hashGroup = new HashMap<String,ButtonGroup>(); + ButtonGroup bg = (ButtonGroup)hashGroup.get(groupName); + if(bg == null){ + bg = new ButtonGroup(); + hashGroup.put(groupName, bg); + } + bg.add(b); + } + + public Vector getResumePanelChilds(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable1()); + return result; + } + + private JPanel __table1__ = null; + public JPanel getTable1(){ + if(__table1__ == null){ + Vector childs = getTable1Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 1; + c.weightx = 2; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[1] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.resume.table")); + + __table1__ = result; + } + return __table1__; + } + + public Vector getTable1Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getScrolledwindow2()); + result.add(getMatriceInfoGrid()); + return result; + } + + private JScrollPane __scrolledwindow2__ = null; + public JScrollPane getScrolledwindow2(){ + if(__scrolledwindow2__ == null){ + Vector childs = getScrolledwindow2Childs(); + Component child = null; + if(childs.size() >= 1) + child = (Component)childs.get(0); + + JScrollPane result; + if(child instanceof JViewport){ + result = new JScrollPane(); + result.setViewport((JViewport)child); + } + else + result = new JScrollPane(child); + result.setToolTipText(_("isisfish.resume.scrolledwindow")); + + __scrolledwindow2__ = result; + } + return __scrolledwindow2__; + } + + public Vector getScrolledwindow2Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getResumeTextArea()); + return result; + } + + private JTextArea __resumeTextArea__ = null; + public JTextArea getResumeTextArea(){ + if(__resumeTextArea__ == null){ + JTextArea result = new JTextArea(_("isisfish.common.blank")); + result.setEditable(false); + result.setToolTipText(_("isisfish.resume.resumeTextArea")); + + __resumeTextArea__ = result; + } + return __resumeTextArea__; + } + + private JPanel __matriceInfoGrid__ = null; + public JPanel getMatriceInfoGrid(){ + if(__matriceInfoGrid__ == null){ + Vector childs = getMatriceInfoGridChilds(); + GridBagConstraints [] cs; + cs = new GridBagConstraints[childs.size()]; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.resume.matrixInfoGrid")); + + __matriceInfoGrid__ = result; + } + return __matriceInfoGrid__; + } + + public Vector getMatriceInfoGridChilds(){ + Vector result; + result = new Vector(); + return result; + } + + + +} Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/ResumePanelUIOld.java ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:mergeinfo + Name: svn:eol-style + native Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBean.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBean.java 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBean.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -18,7 +18,7 @@ * @version */ -public class SimpleResultatMapBean extends SimpleResultatMapBeanUI { +public class SimpleResultatMapBean extends SimpleResultatMapBeanUIOld { public SimpleResultatMapBean (){ super(); init(); Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBeanUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBeanUI.jaxx (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBeanUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,54 @@ +<!-- +/* *##% + * 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. + *##%*/ + +/* * + * DataResult.jaxx + * + * 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="simpleResultMapBean" layout='{new BorderLayout()}'> + <script> + <![CDATA[ + import fr.ifremer.isisfish.map.IsisMapBean; + import com.bbn.openmap.InformationDelegator; + import com.bbn.openmap.gui.ToolPanel; + init(); + public SimpleResultatMapBeanUI (ResultAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); + setContextValue(action); + } + protected void init(){ + simpleResultMapBean.add(new InformationDelegator(), BorderLayout.NORTH); + simpleResultMapBean.add(new IsisMapBean(), BorderLayout.CENTER); + simpleResultMapBean.add(new ToolPanel(), BorderLayout.SOUTH); + } + ]]> + </script> + <!--InformationDelegator constraints='BorderLayout.NORTH'/> + <IsisMapBean constraints='BorderLayout.CENTER'/> + <ToolPanel constraints='BorderLayout.SOUTH'/--> +</JPanel> Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBeanUIOld.java (from rev 1562, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBeanUI.java) =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBeanUIOld.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBeanUIOld.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -0,0 +1,187 @@ +/** + * SimpleResultatMapBean + * + * Generated: Thu Jul 27 22:04:14 CEST 2006 + * By GGen Copyright Code Lutin + * http://www.codelutin.com + * + */ + +package fr.ifremer.isisfish.ui.result; + +import static org.codelutin.i18n.I18nf._; + +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Toolkit; +import java.util.HashMap; +import java.util.Vector; + +import javax.swing.AbstractButton; +import javax.swing.ButtonGroup; +import javax.swing.JPanel; + +public abstract class SimpleResultatMapBeanUIOld extends JPanel implements SimpleResultatMapBeanUICallback{ + + protected void init(){ + SimpleResultatMapBeanUIOld result = this; + this.setLayout(new BorderLayout()); + Vector childs = getSimpleResultatMapBeanChilds(); + if(childs.size() >= 1) + result.add((Component)childs.get(0), + BorderLayout.CENTER); + + result.setBounds(0,0,0,0); + } + + public void center(){ + // Center the screen + Toolkit tk = this.getToolkit(); + Dimension d = this.getSize(); + int x = (tk.getScreenSize().width - d.width) / 2; + int y = (tk.getScreenSize().height - d.height) / 2; + this.setLocation(x, y); + } + + protected HashMap<String,ButtonGroup> hashGroup = null; + /** + * Ajoute un bouton a un groupe + * @param b the button + * @param groupName name fo group + */ + protected void group(AbstractButton b, String groupName){ + if(hashGroup == null) + hashGroup = new HashMap<String,ButtonGroup>(); + ButtonGroup bg = hashGroup.get(groupName); + if(bg == null){ + bg = new ButtonGroup(); + hashGroup.put(groupName, bg); + } + bg.add(b); + } + + public Vector getSimpleResultatMapBeanChilds(){ + Vector<Object> result = new Vector<Object>(); + result.add(getTable12()); + return result; + } + + private JPanel __table12__ = null; + public JPanel getTable12(){ + if(__table12__ == null){ + Vector childs = getTable12Childs(); + GridBagConstraints [] cs = new GridBagConstraints[childs.size()]; + GridBagConstraints c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 1; + c.weightx = 1; + c.weighty = 1; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[0] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 2; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[1] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 0; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[2] = c; + + c = new GridBagConstraints(); + c.gridx = 0; + c.gridy = 3; + c.weightx = 1; + c.weighty = 0; + c.gridwidth = 1; + c.gridheight = 1; + c.fill = GridBagConstraints.BOTH; + cs[3] = c; + + JPanel result = new JPanel(new GridBagLayout()); + for(int i=0; i<childs.size(); i++) + result.add((Component)childs.get(i), cs[i]); + result.setToolTipText(_("isisfish.simpleResult.table")); + + __table12__ = result; + } + return __table12__; + } + + public Vector getTable12Childs(){ + Vector<Object> result = new Vector<Object>(); + result.add(getIsisMapBean()); + result.add(getInformationDelegator()); + result.add(getIsisMapBeanToolBar()); + result.add(getLegendPanel()); + return result; + } + + private fr.ifremer.isisfish.map.IsisMapBean __resultatMap__ = null; + public fr.ifremer.isisfish.map.IsisMapBean getIsisMapBean(){ + if(__resultatMap__ == null){ + fr.ifremer.isisfish.map.IsisMapBean result = new fr.ifremer.isisfish.map.IsisMapBean(); + result.setToolTipText(_("isisfish.simpleResult.resultatMap")); + + __resultatMap__ = result; + } + return __resultatMap__; + } + + private com.bbn.openmap.InformationDelegator __informationDelegator__ = null; + public com.bbn.openmap.InformationDelegator getInformationDelegator(){ + if(__informationDelegator__ == null){ + com.bbn.openmap.InformationDelegator result; + result = new com.bbn.openmap.InformationDelegator(); + __informationDelegator__ = result; + } + return __informationDelegator__; + } + + private com.bbn.openmap.gui.ToolPanel + __resultatMapToolBar__ = null; + public com.bbn.openmap.gui.ToolPanel + getIsisMapBeanToolBar(){ + if(__resultatMapToolBar__ == null){ + com.bbn.openmap.gui.ToolPanel + result = new com.bbn.openmap.gui.ToolPanel +(); + result.setToolTipText(_("isisfish.simpleResult.resultatMapToolBar")); + + __resultatMapToolBar__ = result; + } + return __resultatMapToolBar__; + } + + private LegendPanel __legendPanel__ = null; + public LegendPanel getLegendPanel(){ + if(__legendPanel__ == null){ + LegendPanel result = new LegendPanel(); + result.setToolTipText(_("isisfish.simpleResult.legendPanel")); + + __legendPanel__ = result; + } + return __legendPanel__; + } + + + +} Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/SimpleResultatMapBeanUIOld.java ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:mergeinfo + Name: svn:eol-style + native Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -53,6 +53,7 @@ setTableTagValue(); public AdvancedParamsUI (SimulAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void addTagValue(){ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -35,6 +35,7 @@ <script><![CDATA[ update(); public ExportUI (SimulAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void update(){ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -44,6 +44,9 @@ import fr.ifremer.isisfish.rule.Rule; import org.codelutin.math.matrix.gui.MatrixPanelEditor; import javax.swing.table.DefaultTableModel; + import java.text.ParseException; + import java.util.logging.Level; + import java.util.logging.Logger; import javax.swing.table.TableModel; import fr.ifremer.isisfish.ui.widget.editor.GenericCell; import javax.swing.table.TableColumn; @@ -53,6 +56,7 @@ setContextValue(new MatrixPanelEditor()); simulParamsNumbers.add(getContextValue(MatrixPanelEditor.class), BorderLayout.CENTER); public ParamsUI(SimulAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void refresh(){ @@ -230,6 +234,26 @@ showMessageDialog(this, txt); } } + protected void selectFilter(){ + try { + getContextValue(SimulAction.class).setOldSimulatorNames(fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil.filterSimulation(getContextValue(SimulAction.class).getSimulatorNames())); + } catch (ParseException ex) { + Logger.getLogger(ParamsUI.class.getName()).log(Level.SEVERE, null, ex); + } catch (IOException ex) { + Logger.getLogger(ParamsUI.class.getName()).log(Level.SEVERE, null, ex); + } + } + private ComboBoxModel getSimulParamsSelectModel() { + java.util.List<String> items = getContextValue(SimulAction.class).getFilteredOldSimulatorNames(); + DefaultComboBoxModel result = new DefaultComboBoxModel(); + if (items != null){ + for (String s : items){ + result.addElement(s); + } + } + return result; + } + ]]> </script> <row> @@ -242,10 +266,10 @@ </row> <row> <cell columns="2" fill="horizontal" weightx="1.0"> - <JComboBox id="fieldSimulParamsSelect" model='{new DefaultComboBoxModel(Common.getOldSimulationItem())}' onActionPerformed='loadOldSimulation()'/> + <JComboBox id="fieldSimulParamsSelect" model='{getSimulParamsSelectModel()}' onActionPerformed='loadOldSimulation()'/> </cell> <cell> - <JButton text="isisfish.params.filter" id="buttonSimulParamsSelectFilter"/> + <JButton text="isisfish.params.filter" id="buttonSimulParamsSelectFilter" onActionPerformed='selectFilter()'/> </cell> <cell> <JButton text="isisfish.params.clearFilter" id="buttonSimulParamsSelectClearFilter"/> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/PreScriptsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/PreScriptsUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/PreScriptsUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -33,6 +33,7 @@ <JPanel id="simulPreScripts" layout='{new BorderLayout()}'> <script><![CDATA[ public PreScriptsUI (SimulAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void save(){ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -75,6 +75,7 @@ } public QueueUI (SimulAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } public class JProgressBarTableCellRenderer implements TableCellRenderer { Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -33,6 +33,7 @@ <JPanel id="ResultChoice" name="isisfish.resultChoice.title" layout='{new BorderLayout()}'> <script><![CDATA[ public ResultChoiceUI (SimulAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void saveResultNames(){ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -41,6 +41,7 @@ import fr.ifremer.isisfish.ui.widget.editor.GenericCell; public SensUI (SimulAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } public void refresh(){ 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 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2008-11-17 14:58:51 UTC (rev 1588) @@ -56,10 +56,15 @@ import fr.ifremer.isisfish.rule.Rule; import fr.ifremer.isisfish.simulator.AnalysePlan; import fr.ifremer.isisfish.simulator.SimulationParameter; +import fr.ifremer.isisfish.simulator.SimulationProperties; import fr.ifremer.isisfish.simulator.launcher.SimulationJob; import fr.ifremer.isisfish.simulator.launcher.SimulationService; import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher; +import fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil; +import fr.ifremer.isisfish.ui.widget.filter.FilterModel; +import java.io.IOException; import java.lang.reflect.Field; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; @@ -86,6 +91,7 @@ protected Map<Rule, String> rules = new HashMap<Rule, String>(); protected Map<AnalysePlan, String> analysePlans = new HashMap<AnalysePlan, String>(); static private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm"); + protected List<String> oldSimulNames = null; /* ************ @@ -347,6 +353,45 @@ return SimulatorStorage.getSimulatorNames(); } + + /* + * Return old simulations + * + * @param + * @return old simulations + */ + public List<String> getOldSimulationItem() { + + try { + oldSimulNames = new ArrayList<String>(); + oldSimulNames.add(" "); + FilterModel<SimulationProperties, String> filterModel; + // keep in context list of old simulation names (for filter process) + oldSimulNames.addAll(SimulationStorage.getSimulationNames()); + // create filter model + filterModel = SimulationFilterUtil.createFilterModel(oldSimulNames); + // to used directly model.getFilteredResult() in xml + // we must fill filterModel result with original items + filterModel.selectAll(); + return oldSimulNames; + } catch (ParseException ex) { + Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, null, ex); + } catch (IOException ex) { + Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, null, ex); + } + return null; + } + public List<String> getFilteredOldSimulatorNames() { + + return oldSimulNames; + } + + public void setOldSimulatorNames(List<String> sn){ + oldSimulNames = sn; + } + + + /* ************ * AdvancedParameterUI Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -33,6 +33,7 @@ <JPanel size='{new Dimension(800,600)}' id="simul" layout='{new BorderLayout()}'> <script><![CDATA[ public SimulUI(SimulAction action){ + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); setContextValue(action); } protected void enablePreSimul(){ @@ -49,21 +50,6 @@ ]]> </script> <!-- -title="isisfish.simulation.title" -visible="true" size='{new Dimension(700,500)}' location='{new Point(0,139)}' ---> - <!--onOpened="simulator.SimulatorAction.opened($simulTabs)"--> -<!-- - <WindowEvents id="events" - onOpened="simulator.SimulatorAction.opened($simulTabs,$buttonSimulQueueStart,$buttonSimulQueueRemove,$buttonSimulQueueShowLog,$queueTable,$queueTableDone,$buttonSimulParamsAnalysePlansRemove,$listSimulParamsAnalysePlansList,$buttonSimulParamsMesuresRemove,$listSimulParamsMesuresList)" - onClosing="UIHelper.closeContext()" /> - - <ContextDataSource id="OldSimulationName" context="current" source="OldSimulationName"/> - <ContextDataSource id="SimulationFilterModel" context="current" source="SimulationFilterModel"/> - <ContextDataSource id="SimulationParameter" context="current" source="SimulationParameter"/> - <ContextDataSource id="RegionStorage" context="current" source="RegionStorage"/> ---> -<!-- <JMenuBar> <JMenu text="isisfish.simulation.menu.file"> <JMenuItem name="miClose" text="isisfish.simulation.menu.close" accelerator="accClose"/> @@ -91,10 +77,4 @@ <tab id="advancedParamsUITab" title='isisfish.advancedParameters.title'><AdvancedParamsUI id="advencedParamsUI" constructorParams='getContextValue(SimulAction.class)'/></tab> <tab id="queueUITab" title='isisfish.queue.title'><QueueUI id="queueUI" constructorParams='getContextValue(SimulAction.class)'/></tab> </JTabbedPane> - - -<!-- - <StatutBar2 constraints='"statusBar"'/> - <JLabel icon="images/fish.jpg" constraints='"fishIcon"'/> ---> </JPanel> \ No newline at end of file Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/CommitDialogUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/CommitDialogUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/CommitDialogUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -10,7 +10,8 @@ protected Object model; public CommitDialogUI(Dialog owner, boolean modal) { - super(owner, modal); + super(owner, modal); + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); } public boolean isEmpty() { return items.getRowCount()==0; Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/VCSGenerateSshKeyUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/VCSGenerateSshKeyUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/VCSGenerateSshKeyUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -29,6 +29,8 @@ super(instance); // block close operation setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); } public void setData(String vcsLogin, File privateKeyFile) { Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/VCSPassPhraseUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/VCSPassPhraseUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/versionning/VCSPassPhraseUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -37,6 +37,8 @@ super(instance); // block close operation setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); } </script> <Table> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/filter/FilterPanelUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/filter/FilterPanelUI.jaxx 2008-11-17 11:58:17 UTC (rev 1587) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/filter/FilterPanelUI.jaxx 2008-11-17 14:58:51 UTC (rev 1588) @@ -10,6 +10,7 @@ protected FilterPanelUI(fr.ifremer.isisfish.ui.widget.filter.FilterDialogUI dialog) { this.dialog = dialog; + delegateContext = new jaxx.runtime.DefaultJAXXContext(this); } /**
participants (1)
-
sletellier@users.labs.libre-entreprise.org