r2128 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/sensitivity resources/i18n
Author: chatellier Date: 2009-04-21 10:02:06 +0000 (Tue, 21 Apr 2009) New Revision: 2128 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties Log: Add option to delete factors with popup menu Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-04-21 09:05:36 UTC (rev 2127) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-04-21 10:02:06 UTC (rev 2128) @@ -1,7 +1,6 @@ <!-- /* *##% - * Copyright (C) 2005 - * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin + * Copyright (C) 2005 - 2009 Ifremer, Code Lutin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -16,20 +15,7 @@ * 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 $ - */ - --> + *##%*/ --> <JDialog id="FactorTypeChooser" title='isisfish.factor.title' modal='{true}' layout='{new BorderLayout()}'> <Boolean id='continuePossible' javaBean='true'/> @@ -56,6 +42,7 @@ protected String path = null; protected ContinuousPanelContainer continuousPanel = null; protected Factor factor = null; + addPropertyChangeListener("continuePossible", new PropertyChangeListener(){ @Override Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-04-21 09:05:36 UTC (rev 2127) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-04-21 10:02:06 UTC (rev 2128) @@ -1,7 +1,6 @@ <!-- /* *##% - * Copyright (C) 2005 - * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin + * Copyright (C) 2005 - 2009 Ifremer, Code Lutin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -17,18 +16,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ - -/* * - * IsisFish.java - * - * Created: 1 aout 2005 18:37:25 CEST - * - * @author Benjamin POUSSIN <poussin at codelutin.com> - * @version $Revision: 1312 $ - * - * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $ - * by : $Author: sletellier $ - */ --> <JPanel id="sensibilityTabUI" layout='{new BorderLayout()}'> @@ -41,32 +28,45 @@ <fr.ifremer.isisfish.entities.FisheryRegionImpl id='region' javaBean='null'/> <script><![CDATA[ - import fr.ifremer.isisfish.datastore.RegionStorage; -import fr.ifremer.isisfish.entities.FisheryRegionImpl; -import fr.ifremer.isisfish.ui.Common; import fr.ifremer.isisfish.ui.WelcomePanelUI; import fr.ifremer.isisfish.ui.input.InputAction; -import fr.ifremer.isisfish.ui.input.InputNavigationTreeSelectionAdapter; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreePath; import jaxx.runtime.swing.navigation.NavigationTreeCellRenderer; import jaxx.runtime.swing.navigation.NavigationTreeModel; import fr.ifremer.isisfish.ui.input.InputSaveVerifier; -import org.codelutin.topia.TopiaContext; import jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode; import jaxx.runtime.swing.navigation.NavigationUtil; import fr.ifremer.isisfish.ui.simulator.SimulAction; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreeNode; +import javax.swing.JPopupMenu; import fr.ifremer.isisfish.simulator.sensitivity.Factor; +// end code constructor getVerifier().setSensPanel(this); -factors.addMouseListener(new MouseListener(){ +factors.addMouseListener(new MouseListener() { @Override public void mouseClicked(MouseEvent e) { - factorSelected(); + // clic droit + if (e.getButton() == MouseEvent.BUTTON3) { + JPopupMenu menu = new JPopupMenu(); + JMenuItem menuItemDelete = new JMenuItem(_("isisfish.common.delete")); + menuItemDelete.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + deleteSelectedFactors(); + } + }); + menu.add(menuItemDelete); + menu.show(e.getComponent(), e.getX(), e.getY()); + } + else { + // autre clic + factorSelected(); + } } @Override @@ -86,27 +86,32 @@ } }); -protected InputAction getInputAction(){ + +protected InputAction getInputAction() { return getContextValue(InputAction.class); } -protected SimulAction getSimulAction(){ + +protected SimulAction getSimulAction() { return getContextValue(SimulAction.class); } -protected InputSaveVerifier getVerifier(){ + +protected InputSaveVerifier getVerifier() { return getContextValue(InputSaveVerifier.class); } -protected RegionStorage getRegionStorage(){ + +protected RegionStorage getRegionStorage() { return getContextValue(RegionStorage.class); } -protected void factorSelected(){ + +protected void factorSelected() { DefaultMutableTreeNode node = (DefaultMutableTreeNode)factors.getSelectionValue(); - if (node != null){ + if (node != null) { Object o = node.getUserObject(); - if (Factor.class.isInstance(o)){ + if (Factor.class.isInstance(o)) { Factor f = (Factor)o; FactorWizard wizard = new FactorWizard(this); JComponent c = getSimulAction().getFactorComponent(f); - if (c != null){ + if (c != null) { wizard.initExisting(c, f); wizard.pack(); wizard.setVisible(true); @@ -114,8 +119,8 @@ } } } -public void setTreeModel(){ - if (getRegion() != null){ +public void setTreeModel() { + if (getRegion() != null) { getCardlayoutPrincipal().show(inputPanePrincipal,"normale"); String regionName = getRegion().getName(); setContextValue(getRegion()); @@ -129,27 +134,27 @@ setTreeSelection("$root"); } } -public void repaintNode(String path){ +public void repaintNode(String path) { NavigationTreeModel model = getContextValue(NavigationTreeModel.class); NavigationTreeNode currentNode = model.findNode(path); model.nodeChanged(currentNode); } -public void setTreeSelection(String path){ +public void setTreeSelection(String path) { NavigationTreeNode node = NavigationUtil.findNode(this, null, path); TreePath pathToRoot = new TreePath(getContextValue(NavigationTreeModel.class).getPathToRoot(node)); navigation.setSelectionPath(pathToRoot); navigation.scrollPathToVisible(pathToRoot); } -protected void setInfoText(String s){ +protected void setInfoText(String s) { WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); root.setInfoText(s); } -protected void regionNull(){ +protected void regionNull() { getCardlayoutPrincipal().show(inputPanePrincipal,"none"); DefaultTreeModel model = new DefaultTreeModel(null); navigation.setModel(model); } -public void setFactorModel(){ +public void setFactorModel() { TreeNode root = new DefaultMutableTreeNode(getSimulAction().getFactors()); factors.setRootVisible(true); FactorTreeModel model = new FactorTreeModel(root); @@ -157,6 +162,22 @@ factors.setCellRenderer(new FactorTreeCellRenderer()); getParentContainer(SensitivityUI.class).getSensitivityChooserUI().setFactorCardinalityTableModel(); } + +protected void deleteSelectedFactors() { + DefaultMutableTreeNode node = (DefaultMutableTreeNode)factors.getSelectionValue(); + + if (node != null) { + Object o = node.getUserObject(); + if (o instanceof Factor) { + Factor factor = (Factor)o; + if (log.isDebugEnabled()) { + log.debug("Deleting factor " + factor.getName()); + } + getSimulAction().removeFactor(factor); + setFactorModel(); + } + } +} ]]> </script> <JSplitPane oneTouchExpandable="true" dividerLocation="200" orientation="HORIZONTAL" constraints='BorderLayout.CENTER'> @@ -173,14 +194,15 @@ </Table> <JPanel id="factorPanel" name="factorPanel" layout='{new BorderLayout()}'> <JScrollPane constraints='BorderLayout.CENTER'> - <JTree id="factors" rootVisible="true" selectionRow='0' model='{new DefaultTreeModel(null)}'/> + <JTree id="factors" rootVisible="true" selectionRow='0' + model='{new DefaultTreeModel(null)}' /> </JScrollPane> </JPanel> </JSplitPane> </JPanel> <JPanel id='inputPanePrincipal' layout='{getCardlayoutPrincipal()}'> <fr.ifremer.isisfish.ui.input.NoneUI id='noneUI' constraints='"none"'/> - <JPanel id="inputPane" layout='{getCardlayout()}' constraints='"normale"'/> + <JPanel id="inputPane" layout='{getCardlayout()}' constraints='"normale"'/> </JPanel> </JSplitPane> </JPanel> \ No newline at end of file Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-04-21 09:05:36 UTC (rev 2127) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-04-21 10:02:06 UTC (rev 2128) @@ -1,7 +1,6 @@ <!-- /* *##% - * Copyright (C) 2005 - * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin + * Copyright (C) 2005 - 2009 Ifremer, Code Lutin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -17,18 +16,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ - -/* * - * IsisFish.java - * - * Created: 1 aout 2005 18:37:25 CEST - * - * @author Benjamin POUSSIN <poussin at codelutin.com> - * @version $Revision: 1312 $ - * - * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $ - * by : $Author: sletellier $ - */ --> <JPanel layout='{new BorderLayout()}'> <script><![CDATA[ @@ -43,7 +30,7 @@ import fr.ifremer.isisfish.ui.simulator.ExportUI; import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabUI; - public void selTab(int i){ + public void selTab(int i) { sensitivityTabs.setSelectedIndex(i); } ]]> Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-04-21 09:05:36 UTC (rev 2127) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-04-21 10:02:06 UTC (rev 2128) @@ -105,6 +105,7 @@ isisfish.common.clear=clear isisfish.common.date=Date isisfish.common.debug=debug +isisfish.common.delete=Delete isisfish.common.ellipsis=ellipsis isisfish.common.emigration=emigration isisfish.common.empty=vide Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-04-21 09:05:36 UTC (rev 2127) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-04-21 10:02:06 UTC (rev 2128) @@ -105,6 +105,7 @@ isisfish.common.clear=Effacer isisfish.common.date=Date isisfish.common.debug=Debug +isisfish.common.delete=Supprimer isisfish.common.ellipsis=... isisfish.common.emigration=\u00E9migration isisfish.common.empty=vide
participants (1)
-
chatellier@users.labs.libre-entreprise.org