Author: tchemit Date: 2008-02-21 11:42:58 +0000 (Thu, 21 Feb 2008) New Revision: 1167 Added: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteExportAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryResetAction.java Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAbstractAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/HistoryModel.java Log: ajout action reset history Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAbstractAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAbstractAction.java 2008-02-21 11:39:46 UTC (rev 1166) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAbstractAction.java 2008-02-21 11:42:58 UTC (rev 1167) @@ -25,6 +25,7 @@ import fr.cemagref.simexplorer.is.ui.swing.model.HistoryModel; import fr.cemagref.simexplorer.is.ui.swing.ui.DetailTabRefreshHelper; import fr.cemagref.simexplorer.is.ui.swing.ui.SimExplorerTab; +import fr.cemagref.simexplorer.is.ui.swing.ui.SimExplorerMainUI; import java.awt.event.ActionEvent; @@ -40,7 +41,7 @@ private static final long serialVersionUID = -2880632145083173463L; /** - * @param model le model d'historique non null + * @param model le model d'historique, non null * @return <code>true</code> if il existe une entree adequate a l'action * dans l'historique */ @@ -89,10 +90,12 @@ public void updateUI() { if (!history.isEmpty()) { // select current history element - DetailTabRefreshHelper.updateDetailNavigationTree((JDetailTab) getUI(), history); + DetailTabRefreshHelper.updateDetailNavigationTree(getMainUI(),(JDetailTab) getUI(), history); } else if (getTab().isTabVisible(getTabContainer())) { + SimExplorerMainUI.UpdateButton(getMainUI().getHistoryReset(), !history.isEmpty()); // close tab, no more history getTab().closeTab(getMainUI(), getTabContainer()); + } } @@ -100,7 +103,7 @@ protected void clear() { super.clear(); history = null; - // should be a multi-tab + // multi-tab setTab(null); } } Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteAction.java 2008-02-21 11:39:46 UTC (rev 1166) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteAction.java 2008-02-21 11:42:58 UTC (rev 1167) @@ -26,7 +26,11 @@ import java.util.Iterator; import java.util.List; -/** @author chemit */ +/** + * Action de suppression de l'item dans l'historique + * + * @author chemit + */ @jaxx.runtime.builder.ActionConfig( actionCommand = "historyDelete", name = "simexplorer.action.historyDelete", @@ -50,9 +54,7 @@ if (model.isEmpty()) { return false; } - if (selected == null) { - // le modele est statique pour le moment - //setTab(findTab(e)); + if (selected == null) { // on doit retrouver l'élément à traiter à partir de la source selected = findSelectedItem(e); } @@ -66,18 +68,18 @@ boolean remote = selected.isRemote(); String uuid = selected.getUuid(); boolean wasRemove = false; - if (log.isDebugEnabled()) { - log.debug("----- search entry to remove :" + selected + ", " + selected.isRemote()); - } + //if (log.isDebugEnabled()) { + log.info("----- search entry to remove :" + selected + ", " + selected.isRemote()); + //} for (Iterator<EntityTreeNode> it = datas.iterator(); it.hasNext();) { EntityTreeNode node = it.next(); boolean remote2 = node.isRemote(); LoggableElement le = node.getLoggableElement(); if (le != null && remote == remote2 && uuid.equals(le.getMetaData().getUuid())) { it.remove(); - if (log.isDebugEnabled()) { - log.debug("----- found entry to remove :" + node + ", " + node.isRemote()); - } + //if (log.isDebugEnabled()) { + log.info("----- found entry to remove :" + node + ", " + node.isRemote()); + //} wasRemove = true; break; } @@ -90,8 +92,8 @@ } if (wasRemove) { - if (pos > 0 && currentPos >= pos) { - // decrementsonly if currentPos was higher but not in 0 case. + if (currentPos > 0 && currentPos >= pos) { + // decrements only if currentPos was higher but not in 0 case. model.setCurrentIndex(currentPos - 1); } } Copied: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteExportAction.java (from rev 1154, trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteAction.java) =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteExportAction.java (rev 0) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteExportAction.java 2008-02-21 11:42:58 UTC (rev 1167) @@ -0,0 +1,56 @@ +/* +* ##% Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Code Lutin, +* Tony Chemit, Gabriel Landais +* +* 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. +* ##% */ +package fr.cemagref.simexplorer.is.ui.swing.actions.history; + +import fr.cemagref.simexplorer.is.ui.swing.model.EntityTreeNode; +import fr.cemagref.simexplorer.is.ui.swing.model.HistoryModel; + +/** + * Action de suppresion de l'element exporté (i.e sur l'autre base) + * dans l'historique. + * + * @author chemit + */ + at jaxx.runtime.builder.ActionConfig( + actionCommand = "historyDeleteExport", + name = "simexplorer.action.historyDeleteExport", + shortDescription = "simexplorer.action.historyDeleteExport.tooltip", + longDescription = "simexplorer.action.historyDeleteExport.help", + hideActionText = true +) +public class HistoryDeleteExportAction extends HistoryDeleteAction { + + private static final long serialVersionUID = 2165684159831076054L; + + public HistoryDeleteExportAction(String name) { + super(name); + } + + protected boolean hasHistoryEntry(HistoryModel<EntityTreeNode> model) { + if (!super.hasHistoryEntry(model)) { + return false; + } + + // we are working on other list impact by an export + selected.setRemote(!selected.isRemote()); + + return true; + } + +} \ No newline at end of file Copied: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryResetAction.java (from rev 1154, trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteAction.java) =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryResetAction.java (rev 0) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryResetAction.java 2008-02-21 11:42:58 UTC (rev 1167) @@ -0,0 +1,54 @@ +/* +* ##% Copyright (C) 2008 Code Lutin, Tony Chemit, Gabriel Landais +* +* 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. +* ##% */ +package fr.cemagref.simexplorer.is.ui.swing.actions.history; + +import fr.cemagref.simexplorer.is.ui.swing.model.EntityTreeNode; +import fr.cemagref.simexplorer.is.ui.swing.model.HistoryModel; + +/** + * Action de reset de l'historique + * + * @author chemit + */ + at jaxx.runtime.builder.ActionConfig( + actionCommand = "historyReset", + name = "simexplorer.action.historyReset", + shortDescription = "simexplorer.action.historyReset.tooltip", + longDescription = "simexplorer.action.historyReset.help", + smallIcon = "action/history-reset.png", + mnemonic = 'H', + hideActionText = false, + enabled = false +) +public class HistoryResetAction extends HistoryAbstractAction { + + private static final long serialVersionUID = 2165684159831076054L; + + public HistoryResetAction(String name) { + super(name); + } + + protected boolean hasHistoryEntry(HistoryModel<EntityTreeNode> model) { + return !model.isEmpty(); + } + + protected EntityTreeNode getHistoryEntry(HistoryModel<EntityTreeNode> model) { + model.clear(); + return null; + } +} \ No newline at end of file Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/HistoryModel.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/HistoryModel.java 2008-02-21 11:39:46 UTC (rev 1166) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/HistoryModel.java 2008-02-21 11:42:58 UTC (rev 1167) @@ -61,7 +61,7 @@ int newIndex = currentIndex + 1; // il faut supprimer tous les elements au dela de la position courante while (data.size() > newIndex) { - //TODO utiliser un container plus optimiserpour cette opération + //TODO utiliser un autre container plus optimiser pour cette opération // car ArrayList recopie à chaque fois l'ensemble du contenu data.remove(newIndex); }