r898 - trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions
Author: tchemit Date: 2008-02-13 11:03:22 +0000 (Wed, 13 Feb 2008) New Revision: 898 Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowDetailTabAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowSynchronizeTabAction.java Log: changement de la ppolitique d'init de l'action showTab_synchronize : dans le cas de l'onglet detail, on n'initialise jamais l'action, cela sera directement dans l'init de l'action car cela n'est pas pertinent (si l'on revient sur l'onglet on ne peut pas simplement reinit l'action pour une seconde utilisation...) Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowDetailTabAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowDetailTabAction.java 2008-02-13 10:49:30 UTC (rev 897) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowDetailTabAction.java 2008-02-13 11:03:22 UTC (rev 898) @@ -23,14 +23,12 @@ import fr.cemagref.simexplorer.is.entities.metadata.Version; import fr.cemagref.simexplorer.is.ui.StorageServiceHelper; import fr.cemagref.simexplorer.is.ui.swing.JDetailTab; -import fr.cemagref.simexplorer.is.ui.swing.SimExplorerActionManager; import fr.cemagref.simexplorer.is.ui.swing.SimExplorerUIRefreshHelper; import fr.cemagref.simexplorer.is.ui.swing.actions.util.ShowTabAbstractAction; import fr.cemagref.simexplorer.is.ui.swing.model.DetailTabModel; import fr.cemagref.simexplorer.is.ui.swing.model.LoggableElementTreeHelper; import fr.cemagref.simexplorer.is.ui.swing.model.LoggableElementTreeNode; -import javax.swing.AbstractButton; import javax.swing.DefaultComboBoxModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; @@ -154,17 +152,6 @@ // on positionne l'attachment selectionne model.setSelectedAttachmentIndex(selectedAttachment); - - // preparation de l'action de synchronisation - ShowSynchronizeTabAction synchronizeAction; - synchronizeAction = (ShowSynchronizeTabAction) SimExplorerActionManager.newAction("showTab_synchronize", (AbstractButton) null); - if (element == null) { - synchronizeAction.clear(); - } else { - synchronizeAction.setRemote(model.isRemote()); - synchronizeAction.setUuid(model.getDetail().getUuid()); - synchronizeAction.setVersion(model.getDetail().getVersion()); - } } /** @@ -244,12 +231,6 @@ // on positionne l'attachment selectionne model.setSelectedAttachmentIndex(selectedAttachment); - // preparation de l'action de synchronisation - ShowSynchronizeTabAction synchronizeAction; - synchronizeAction = (ShowSynchronizeTabAction) SimExplorerActionManager.newAction("showTab_synchronize", (AbstractButton) null); - synchronizeAction.setRemote(model.isRemote()); - synchronizeAction.setUuid(metas.getUuid()); - synchronizeAction.setVersion(metas.getVersion()); // refresh detail to tree button SimExplorerUIRefreshHelper.refreshDetailToTreeAction(ui, model); } Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowSynchronizeTabAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowSynchronizeTabAction.java 2008-02-13 10:49:30 UTC (rev 897) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowSynchronizeTabAction.java 2008-02-13 11:03:22 UTC (rev 898) @@ -25,14 +25,13 @@ import fr.cemagref.simexplorer.is.ui.swing.SimExplorerTab; import fr.cemagref.simexplorer.is.ui.swing.SimExplorerUIRefreshHelper; import fr.cemagref.simexplorer.is.ui.swing.actions.util.ShowTabAbstractAction; +import fr.cemagref.simexplorer.is.ui.swing.model.DetailTabModel; import fr.cemagref.simexplorer.is.ui.swing.model.LoggableElementTreeNode; import fr.cemagref.simexplorer.is.ui.swing.model.SynchronizeTabModel; -import javax.swing.JTabbedPane; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.TreePath; -import java.awt.Component; import java.awt.event.ActionEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -85,14 +84,27 @@ @Override protected boolean beforeAction(ActionEvent e) throws Exception { - //TODO cela ne va pas, car unefois l'action consumée, les données sont - //TODO effacées, alors que l'onpeut vouloir revenir dessus... - if (!super.beforeAction(e) || remote == null || uuid == null || version == null) { - JTabbedPane tabbedPane = getTabContainer(); - if (getTab().isTabVisible(tabbedPane)) { - // tab is already visible, just select it - tabbedPane.setSelectedComponent((Component) getUI()); + if (!super.beforeAction(e)) { + return false; + } + if (remote == null || uuid == null || version == null) { + // trick : quand c'est null, cela veut dire que l'on vient de + // l'onglet de detail, car dans les onglets de list, l'action est + // toujours initialisée avant d'arriver ici, alors que dans le cas + // de l'onglet de detail on ne prepare pas l'action car cela n'est + // pas pertinent (par exemple si on a déjà exécuté cette action depuis + // l'onglet de detail, et que l'on veut la relancer sur un retour sur + // l'onglet de detail, on a pas de moyen simple de reinitialiser cette + // action, donc on ne l'initialise jamais d'avance dans ce cas. + DetailTabModel model = (DetailTabModel) SimExplorerTab.detail.getModel(); + if (model.getDetail() != null) { + setRemote(model.isRemote()); + setUuid(model.getDetail().getUuid()); + setVersion(model.getDetail().getVersion()); } + } + if (remote == null || uuid == null || version == null) { + // on restete l'accessibilite de l'action return false; } LoggableElement source = StorageServiceHelper.getElement(getContext(), remote, uuid, version.toString());
participants (1)
-
tchemit@users.labs.libre-entreprise.org