Author: tchemit Date: 2008-07-25 13:50:03 +0000 (Fri, 25 Jul 2008) New Revision: 1510 Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerActionManager.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowListTabAbstractAction.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/SimExplorerAbstractAction.java Log: using jaxx-swing-action new layout Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerActionManager.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerActionManager.java 2008-07-25 13:47:18 UTC (rev 1509) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerActionManager.java 2008-07-25 13:50:03 UTC (rev 1510) @@ -20,16 +20,13 @@ import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractAction; import fr.cemagref.simexplorer.is.ui.swing.model.DataEntityModel; import jaxx.runtime.JAXXObject; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.codelutin.i18n.I18nable; -import org.codelutin.jaxx.action.ActionFactory; -import org.codelutin.jaxx.action.ActionFactoryFromProvider; +import org.codelutin.jaxx.action.factory.ActionFactory; +import org.codelutin.jaxx.action.factory.ActionFactoryFromProvider; import javax.swing.AbstractAction; import javax.swing.AbstractButton; import javax.swing.JComboBox; -import java.awt.event.ActionEvent; /** * La classe responsable de l'enregistrement des actions disponibles @@ -44,21 +41,12 @@ @I18nable public class SimExplorerActionManager { - private static final Log log = LogFactory.getLog(SimExplorerActionManager.class); - /** l'usine d'actions */ - private static ActionFactory factory; + private static ActionFactory<SimExplorerAbstractAction> factory; - /** - * @param ui l'ui à charger - * @return le tableau des actions instanciées ou récupérées du cache de - * la factory - */ - public static AbstractAction[] loadActions(JAXXObject ui) { - AbstractAction[] actions; - actions = getFactory().loadActions(ui); - return actions; - + /** @param ui l'ui à charger */ + public static void loadActions(JAXXObject ui) { + getFactory().loadActions(ui); } /** @@ -67,51 +55,48 @@ * @return l'usine d'actions * @see ActionFactory */ - public static ActionFactory getFactory() { + public static ActionFactory<SimExplorerAbstractAction> getFactory() { if (factory == null) { // used a simple factory implementation - factory = new ActionFactoryFromProvider(); + factory = ActionFactoryFromProvider.newInstance(SimExplorerAbstractAction.class); } return factory; } public static void fireAction(String actionKey, Object source) { - fireAction(actionKey, source, (AbstractButton) null); + getFactory().fireAction(actionKey, source); } public static void fireSelectedAction(String actionKey, Object source, DataEntityModel selected) { SelectedAction selectedAction = (SelectedAction) newAction(actionKey); selectedAction.setSelected(selected); - fireAction0(actionKey, source, (AbstractAction) selectedAction); + getFactory().fireAction0(actionKey, source, (SimExplorerAbstractAction) selectedAction); } public static AbstractAction newAction(String actionKey) { return newAction(actionKey, (AbstractButton) null); } - public static void resetCache() { - getFactory().resetCache(); - } - public static void dispose() { - resetCache(); - for (String actionKey : getFactory().getActionNames()) { - SimExplorerAbstractAction action = (SimExplorerAbstractAction) newAction(actionKey); + getFactory().dispose(); + //getFactory().resetCache(); + /*for (String actionKey : getFactory().getActionNames()) { + SimExplorerAbstractAction action = (SimExplorerAbstractAction) getFactory().getActionFromCache(actionKey); + //SimExplorerAbstractAction action = (SimExplorerAbstractAction) newAction(actionKey); if (action != null) { action.disposeUI(); } } + getFactory().resetCache();*/ } public static void fireAction(String actionKey, Object source, AbstractButton component) { - AbstractAction action = newAction(actionKey, component); - fireAction0(actionKey, source, action); + getFactory().fireAction(actionKey, source, component); } public static void fireAction(String actionKey, Object source, JComboBox component) { - AbstractAction action = newAction(actionKey, component); - fireAction0(actionKey, source, action); + getFactory().fireAction(actionKey, source, component); } protected static AbstractAction newAction(String actionKey, AbstractButton component) { @@ -122,12 +107,4 @@ return getFactory().newAction(actionKey, component); } - protected static void fireAction0(String actionKey, Object source, AbstractAction action) { - if (action == null) { - log.warn("could not find action " + actionKey); - return; - } - ActionEvent event = new ActionEvent(source, ActionEvent.ACTION_FIRST, actionKey); - action.actionPerformed(event); - } } Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowListTabAbstractAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowListTabAbstractAction.java 2008-07-25 13:47:18 UTC (rev 1509) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowListTabAbstractAction.java 2008-07-25 13:50:03 UTC (rev 1510) @@ -85,16 +85,24 @@ @Override public void disposeUI() { super.disposeUI(); + //FIXME see why ui could be null... + JListTab ui = getTabUI(); if (listMetaSelectionListener != null) { - getTabUI().getTable().getSelectionModel().removeListSelectionListener(listMetaSelectionListener); + if (ui!=null) { + ui.getTable().getSelectionModel().removeListSelectionListener(listMetaSelectionListener); + } listMetaSelectionListener = null; } if (rowSorterListener != null) { - getTabUI().getTable().getRowSorter().removeRowSorterListener(rowSorterListener); + if (ui!=null) { + ui.getTable().getRowSorter().removeRowSorterListener(rowSorterListener); + } rowSorterListener = null; } if (rowSorter != null) { - getTabUI().getTable().setRowSorter(rowSorter); + if (ui!=null) { + ui.getTable().setRowSorter(rowSorter); + } rowSorter = null; } } Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/SimExplorerAbstractAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/SimExplorerAbstractAction.java 2008-07-25 13:47:18 UTC (rev 1509) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/SimExplorerAbstractAction.java 2008-07-25 13:50:03 UTC (rev 1510) @@ -27,65 +27,41 @@ import fr.cemagref.simexplorer.is.ui.swing.ui.SimExplorerTab; import fr.cemagref.simexplorer.is.ui.swing.ui.SynchronizeTabUpdater; import fr.cemagref.simexplorer.is.ui.swing.ui.util.ErrorDialog; -import jaxx.runtime.JAXXObject; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import static org.codelutin.i18n.I18n._; +import org.codelutin.jaxx.action.MyAbstractAction; -import javax.swing.JComponent; -import java.awt.event.ActionEvent; - /** * La classe de base à utiliser pour toutes les actions de l'application * * @author Code Lutin, Landais Gabriel, Chemit Tony */ @org.codelutin.i18n.I18nable -public abstract class SimExplorerAbstractAction extends javax.swing.AbstractAction { +public class SimExplorerAbstractAction extends org.codelutin.jaxx.action.MyAbstractAction { - protected static Log log = LogFactory.getLog(SimExplorerAbstractAction.class); - private static final long serialVersionUID = -810023044364620841L; - protected ActionEvent e; - - public void actionPerformed(java.awt.event.ActionEvent e) { - - log.debug("------------------------------------------------------------"); - log.debug("event : " + e); - log.debug("source : " + e.getSource()); - this.e = e; - try { - boolean accepted = beforeAction(e); - log.debug("action : " + this); - if (accepted) { - log.info(getActionName() + " (treate:" + accepted + ") : " + this); - } else { - log.debug(getActionName() + " (treate:" + accepted + ") : " + this); - } - if (accepted) { - doAction(e); - setStatus(_("simexplorer.action.done",getName())); - updateUI(); - } - } catch (Exception e1) { - showError(e1); - } finally { - this.e = null; - // always clear action after use : actions are staless - clear(); - } - } - + @Override protected void showError(Exception e) { ErrorDialog.showError(e); } + protected String getPrefix() { + return "simexplorer"; + } + protected SimExplorerAbstractAction(String name) { super(name); - log.debug("> " + this); + if (log.isDebugEnabled()) { + log.debug("> " + this); + } } + public SimExplorerAbstractAction(MyAbstractAction delegate) { + super(delegate); + if (log.isDebugEnabled()) { + log.debug("> " + this); + } + } + protected SimExplorerContext getContext() { return SimExplorer.getContext(); } @@ -94,49 +70,12 @@ return SimExplorerMainUI.getUI(); } - protected String getActionName() { - return (String) getValue(ACTION_COMMAND_KEY); - } - - protected String getName() { - return (String) getValue(NAME); - } - + @Override protected void setStatus(String status) { getMainUI().setStatus(status); } - protected boolean beforeAction(ActionEvent e) throws Exception { - return isEnabled(); - } - protected void doAction(ActionEvent e) throws Exception { - // nothing by default - } - - public void updateUI() { - // nothing by default - } - - public void disposeUI() { - // nothing by default - } - - protected void clear() { - // nothing by default - } - - protected JComponent getUIObject(String name, JAXXObject container) { - if (container == null) { - return null; - } - return (JComponent) container.getObjectById(name); - } - - public String getI18nToolTipText() { - return "simexplorer.action." + getActionName() + ".tooltip"; - } - public DetailTabModel getDetailModel() { return (DetailTabModel) SimExplorerTab.detail.getModel(getContext()); } @@ -171,7 +110,7 @@ } public void closeTab(SimExplorerTab tab) { - tab.closeTab(getContext(),getMainUI(),getMainUI().getContent()); + tab.closeTab(getContext(), getMainUI(), getMainUI().getContent()); } } \ No newline at end of file
participants (1)
-
tchemit@users.labs.libre-entreprise.org