Author: chatellier Date: 2011-04-18 15:46:07 +0000 (Mon, 18 Apr 2011) New Revision: 3265 Log: Correction creation de nouvelles entit?\195?\169s Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java 2011-04-18 15:44:40 UTC (rev 3264) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java 2011-04-18 15:46:07 UTC (rev 3265) @@ -82,6 +82,8 @@ import fr.ifremer.isisfish.ui.input.tree.FisheryTreeNode; import fr.ifremer.isisfish.ui.input.tree.FisheryTreeRenderer; import fr.ifremer.isisfish.ui.input.tree.FisheryTreeSelectionModel; +import fr.ifremer.isisfish.ui.input.tree.loadors.FisheryTreeNodeLoador; +import fr.ifremer.isisfish.ui.models.common.StringListModel; import fr.ifremer.isisfish.ui.sensitivity.FactorWizardUI; import fr.ifremer.isisfish.ui.sensitivity.SensitivityInputHandler; import fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil; @@ -232,6 +234,10 @@ throw new IsisFishRuntimeException("Can't create region", ex); } inputUI.getFieldNewRegion().setText(""); + + // refresh region list + StringListModel regionsModel = new StringListModel(RegionStorage.getRegionNames()); + inputUI.getFieldCurrentRegion().setModel(regionsModel); // event is fired by setSelectedItem to call #regionChange inputUI.getFieldCurrentRegion().setSelectedItem(name); } @@ -513,12 +519,12 @@ } InputContentUI inputContentUI = getUIInstanceForBeanClass(internalClass, inputUI); + inputContentUI.getSaveVerifier().setInputContentUI(inputContentUI); // mandatory set //inputContentUI.getSaveVerifier().reset(); // before set bean !!! if (topiaEntity != null) { inputContentUI.getSaveVerifier().addCurrentEntity(topiaEntity); - inputContentUI.getSaveVerifier().setInputContentUI(inputContentUI); } inputContentUI.setBean((TopiaEntityContextable)topiaEntity); @@ -651,12 +657,12 @@ * * @param inputUI ui containing tree * @param nodeClass node type to create - * @param topiaId node id to insert + * @param topiaEntity node to insert */ - public void insertTreeNode(InputUI inputUI, Class<?> nodeClass, String topiaId) { + public void insertTreeNode(InputUI inputUI, Class nodeClass, TopiaEntityContextable topiaEntity) { FisheryTreeHelper fisheryTreeHelper = inputUI.getContextValue(FisheryTreeHelper.class); - // on par du principe que pour ne pas compliquer les ui est les lier + // on part du principe que pour ne pas compliquer les ui est les lier // à l'arbre, on ajoute un nouveau noeud en fils de celui selectionné // (ou son parent si la creation à lieu à partir d'un noeud bean) FisheryTreeNode selectedNode = fisheryTreeHelper.getSelectedNode(); @@ -664,7 +670,9 @@ selectedNode = selectedNode.getParent(); } - FisheryTreeNode newNode = new FisheryTreeNode(nodeClass, topiaId, null, null); + FisheryTreeNodeLoador typeNodeLoador = fisheryTreeHelper.getLoadorFor(nodeClass); + // must use loador to properly load species node + FisheryTreeNode newNode = (FisheryTreeNode)typeNodeLoador.createNode(topiaEntity, null); fisheryTreeHelper.insertNode(selectedNode, newNode); fisheryTreeHelper.selectNode(newNode); }