Author: tchemit
Date: 2008-02-21 11:45:01 +0000 (Thu, 21 Feb 2008)
New Revision: 1169
Removed:
trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/MainUIRefreshHelper.java
Modified:
trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/SynchronizeTabModel.java
trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/DetailTabRefreshHelper.java
trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/EntityTreeNodeHelper.java
trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/ListTabRefreshHelper.java
trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerMainUI.java
trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerTab.java
trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SynchronizeTabRefreshHelper.java
trunk/simexplorer-is/simexplorer-is-swing/src/uimodel/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerUI.jaxx
Log:
changement prototype methode
Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/SynchronizeTabModel.java
===================================================================
--- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/SynchronizeTabModel.java 2008-02-21 11:43:30 UTC (rev 1168)
+++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/SynchronizeTabModel.java 2008-02-21 11:45:01 UTC (rev 1169)
@@ -133,8 +133,16 @@
setSelectedItem(selected);
DataEntityModel save = getSelectedItem();
- LoggableElement source = save.getLe(context);
+ LoggableElement source=null;
+
+ try {
+ source = save.getLe(context);
+ } catch (NullPointerException e) {
+ //TODO si le service ne trouve pas le LE un NullPointer ?
+ e.printStackTrace();
+ }
+
setSelectedItem(null);
// recuperation des versions de l'element destination
Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/DetailTabRefreshHelper.java
===================================================================
--- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/DetailTabRefreshHelper.java 2008-02-21 11:43:30 UTC (rev 1168)
+++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/DetailTabRefreshHelper.java 2008-02-21 11:45:01 UTC (rev 1169)
@@ -23,7 +23,6 @@
import fr.cemagref.simexplorer.is.entities.data.LoggableElement;
import fr.cemagref.simexplorer.is.entities.metadata.MetaData;
import fr.cemagref.simexplorer.is.entities.metadata.Version;
-import fr.cemagref.simexplorer.is.ui.swing.ui.JDetailTab;
import fr.cemagref.simexplorer.is.ui.swing.SimExplorerContext;
import fr.cemagref.simexplorer.is.ui.swing.model.DetailTabModel;
import fr.cemagref.simexplorer.is.ui.swing.model.DetailTableModel;
@@ -59,25 +58,26 @@
public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss.SSS");
- public static void refreshDetailTab(JDetailTab ui, DetailTabModel model) {
+ public static void refreshDetailTab(SimExplorerMainUI mainUi, JDetailTab ui, DetailTabModel model) {
EntityTreeNode root = EntityTreeNodeHelper.build(model.getRootNode(), model.isRemote());
EntityTreeNode current = model.getHistory().getCurrent();
//FIXME : if object has different version, it says that this is same!!!
if (current == null || !root.getUserObject().equals(current.getUserObject())) {
model.getHistory().add(root);
}
- DetailTabRefreshHelper.updateDetailNavigationTree(ui, model.getHistory());
+ DetailTabRefreshHelper.updateDetailNavigationTree(mainUi,ui, model.getHistory());
}
/**
* Rafraichit les actions d'un node dans l'arbre de navigation
*
- * @param context
+ * @param mainUI l'ui principale
+ * @param context le context de l'appplication
* @param ui l'onglet de détail
* @param model le model de d'onglet detail
* @param node le node sélectionné dans l'arbre de navigation
*/
- public static void refreshDetailActions(SimExplorerContext context, JDetailTab ui, DetailTabModel model, EntityTreeNode node) {
+ public static void refreshDetailActions(SimExplorerMainUI mainUI, SimExplorerContext context, JDetailTab ui, DetailTabModel model, EntityTreeNode node) {
// refresh synchronize action button
refreshSynchroniseAction(context, ui, model);
// refresh download LoggableElement button
@@ -85,7 +85,7 @@
// refresh delete button
refreshDeleteAction(ui, model);
// refresh export button
- refreshExportAction(context,ui, model);
+ refreshExportAction(mainUI,context,ui, model);
// refresh download Attachment button
refreshDownloadAttachmentAction(ui, model);
}
@@ -97,19 +97,19 @@
public static void refreshDownloadElementAction(JDetailTab ui, DetailTabModel model, EntityTreeNode node) {
MetaData detail = model.getDetail();
boolean enabled = EntityHelper.Action.DOWNLOAD.accept(node);
- MainUIRefreshHelper.UpdateButton(ui.getDownloadElement(), enabled, enabled ? detail == null ? node.getUserObject() : detail.getName() + " [" + model.getSelectedVersion() + "]" : null);
+ SimExplorerMainUI.UpdateButton(ui.getDownloadElement(), enabled, enabled ? detail == null ? node.getUserObject() : detail.getName() + " [" + model.getSelectedVersion() + "]" : null);
}
protected static void refreshDeleteAction(JDetailTab ui, DetailTabModel model) {
MetaData detail = model.getDetail();
boolean enabled = EntityHelper.Action.DELETE.accept(detail);
- MainUIRefreshHelper.UpdateButton(ui.getDeleteElement(), enabled, enabled ? detail.getName() + " [" + model.getSelectedVersion() + "]" : null);
+ SimExplorerMainUI.UpdateButton(ui.getDeleteElement(), enabled, enabled ? detail.getName() + " [" + model.getSelectedVersion() + "]" : null);
}
public static void refreshDownloadAttachmentAction(JDetailTab ui, DetailTabModel model) {
Attachment attachment = model.getSelectedAttachment();
boolean enabled = model.getDetail() != null && attachment != null;
- MainUIRefreshHelper.UpdateButton(ui.getDownloadAttachment(), enabled, enabled ? attachment : null);
+ SimExplorerMainUI.UpdateButton(ui.getDownloadAttachment(), enabled, enabled ? attachment : null);
}
public static void refreshDetailToTreeAction(JDetailTab ui, DetailTabModel model) {
@@ -125,18 +125,18 @@
}
boolean enabled = !(detail.getName().equals(data.getName()) && data.getVersion().equals(version));
- MainUIRefreshHelper.UpdateButton(ui.getDetailToTree(), enabled, enabled ? detail.getName() + " [" + version + "]" : null);
+ SimExplorerMainUI.UpdateButton(ui.getDetailToTree(), enabled, enabled ? detail.getName() + " [" + version + "]" : null);
}
public static void refreshSynchroniseAction(SimExplorerContext context, JDetailTab ui, DetailTabModel model) {
MetaData detail = model.getDetail();
boolean enabled = detail != null && context.isConnected();
- MainUIRefreshHelper.UpdateButton(ui.getShowTab_synchronize(), enabled, enabled ? detail.getName() + " [" + model.getSelectedVersion() + "]" : null);
+ SimExplorerMainUI.UpdateButton(ui.getShowTab_synchronize(), enabled, enabled ? detail.getName() + " [" + model.getSelectedVersion() + "]" : null);
}
- public static void refreshExportAction(SimExplorerContext context, JDetailTab ui, DetailTabModel model) {
+ public static void refreshExportAction(SimExplorerMainUI mainUI, SimExplorerContext context, JDetailTab ui, DetailTabModel model) {
LoggableElement sNode = model.getSelectedNode();
- MainUIRefreshHelper.refreshExportElement(context,ui.getExportElement(),model.isRemote(),sNode);
+ mainUI.refreshExportElement(context,ui.getExportElement(),model.isRemote(),sNode);
}
public static void resetHistory(JDetailTab ui, DetailTabModel model, DefaultComboBoxModel historyModel) {
@@ -159,7 +159,7 @@
ui.getDetailVersions().setToolTipText(text);
}
// can not synchronize to tree
- MainUIRefreshHelper.UpdateButton(ui.getDetailToTree(), false);
+ SimExplorerMainUI.UpdateButton(ui.getDetailToTree(), false);
}
public static void resetDetailPanel(final JDetailTab ui) {
@@ -175,7 +175,7 @@
((DetailTableModel) ui.getDetailTable().getModel()).setData(null);
}
- public static void updateDetailNavigationTree(JDetailTab ui, HistoryModel<EntityTreeNode> model) {
+ public static void updateDetailNavigationTree(SimExplorerMainUI mainUi, JDetailTab ui, HistoryModel<EntityTreeNode> model) {
// push it in tree model
((DefaultTreeModel) ui.getNavigationTree().getModel()).setRoot(model.getCurrent());
// by default select the root node
@@ -184,9 +184,12 @@
}
boolean enabled;
enabled = model.size() > 1 && model.hasPrevious();
- MainUIRefreshHelper.UpdateButton(ui.getHistoryPrevious(), enabled, !enabled ? null : model.getPrevious());
+ SimExplorerMainUI.UpdateButton(ui.getHistoryPrevious(), enabled, !enabled ? null : model.getPrevious());
enabled = model.size() > 1 && model.hasNext();
- MainUIRefreshHelper.UpdateButton(ui.getHistoryNext(), enabled, !enabled ? null : model.getNext());
+ SimExplorerMainUI.UpdateButton(ui.getHistoryNext(), enabled, !enabled ? null : model.getNext());
+
+ SimExplorerMainUI.UpdateButton(mainUi.getHistoryReset(), !model.isEmpty());
+
}
public static void updateDetailPanel(Integer index, final JDetailTab ui, DetailTabModel model, LoggableElement selectedNode) {
Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/EntityTreeNodeHelper.java
===================================================================
--- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/EntityTreeNodeHelper.java 2008-02-21 11:43:30 UTC (rev 1168)
+++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/EntityTreeNodeHelper.java 2008-02-21 11:45:01 UTC (rev 1169)
@@ -132,8 +132,8 @@
public static void refreshTreeActions(AbstractButton collapseButton, AbstractButton expandButton, EntityTreeNode node) {
boolean enabled = node != null && !node.isLeaf() && node.getChildCount() > 0;
Object o = enabled ? node.getUserObject() : null;
- MainUIRefreshHelper.UpdateButton(collapseButton, enabled, o);
- MainUIRefreshHelper.UpdateButton(expandButton, enabled, o);
+ SimExplorerMainUI.UpdateButton(collapseButton, enabled, o);
+ SimExplorerMainUI.UpdateButton(expandButton, enabled, o);
}
protected EntityTreeNodeHelper() {
Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/ListTabRefreshHelper.java
===================================================================
--- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/ListTabRefreshHelper.java 2008-02-21 11:43:30 UTC (rev 1168)
+++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/ListTabRefreshHelper.java 2008-02-21 11:45:01 UTC (rev 1169)
@@ -20,7 +20,6 @@
import fr.cemagref.simexplorer.is.entities.EntityHelper;
import fr.cemagref.simexplorer.is.entities.metadata.MetaData;
-import fr.cemagref.simexplorer.is.ui.swing.ui.JListTab;
import fr.cemagref.simexplorer.is.ui.swing.SimExplorerContext;
import fr.cemagref.simexplorer.is.ui.swing.model.DataEntityModel;
import fr.cemagref.simexplorer.is.ui.swing.model.ListTabModel;
@@ -85,7 +84,7 @@
});
}
- public static void refreshListTablePopupMenu(SimExplorerContext context, final JListTab ui, final ListTabModel model) {
+ public static void refreshListTablePopupMenu(SimExplorerMainUI mainUi, SimExplorerContext context, final JListTab ui, final ListTabModel model) {
DataEntityModel item = model.getSelectedItem();
ui.getTablePopupMenu().setEnabled(item != null);
int index = model.getSelectedIndex();
@@ -96,11 +95,11 @@
String text = data.getName() + " [" + data.getVersion() + "]";
- MainUIRefreshHelper.UpdateButton(ui.getDownloadElement(), EntityHelper.Action.DOWNLOAD.accept(data), text);
- MainUIRefreshHelper.UpdateButton(ui.getDeleteElement(), EntityHelper.Action.DELETE.accept(data), text);
- MainUIRefreshHelper.refreshExportElement(context,ui.getExportElement(), model.isRemote(), data);
- MainUIRefreshHelper.UpdateButton(ui.getShowTab_detail(), true, text);
- MainUIRefreshHelper.UpdateButton(ui.getShowTab_synchronize(), context.isConnected(), text);
+ SimExplorerMainUI.UpdateButton(ui.getDownloadElement(), EntityHelper.Action.DOWNLOAD.accept(data), text);
+ SimExplorerMainUI.UpdateButton(ui.getDeleteElement(), EntityHelper.Action.DELETE.accept(data), text);
+ mainUi.refreshExportElement(context,ui.getExportElement(), model.isRemote(), data);
+ SimExplorerMainUI.UpdateButton(ui.getShowTab_detail(), true, text);
+ SimExplorerMainUI.UpdateButton(ui.getShowTab_synchronize(), context.isConnected(), text);
}
/**
Deleted: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/MainUIRefreshHelper.java
===================================================================
--- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/MainUIRefreshHelper.java 2008-02-21 11:43:30 UTC (rev 1168)
+++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/MainUIRefreshHelper.java 2008-02-21 11:45:01 UTC (rev 1169)
@@ -1,163 +0,0 @@
-/*
-* ##% 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.ui;
-
-import fr.cemagref.simexplorer.is.entities.EntityHelper;
-import fr.cemagref.simexplorer.is.entities.metadata.MetaData;
-import fr.cemagref.simexplorer.is.entities.data.LoggableElement;
-import fr.cemagref.simexplorer.is.ui.swing.actions.ExportElementAction;
-import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractAction;
-import fr.cemagref.simexplorer.is.ui.swing.SimExplorerContext;
-import static org.codelutin.i18n.I18n._;
-
-import javax.swing.AbstractButton;
-
-/**
- * Cette classe contient les méthodes utiles et réutilisables pour rafraichit
- * les ui.
- * <p/>
- * Les méthodes utilisent les données stockées dans les modèles pour rafraichir
- * les uis concernées.
- * <p/>
- * Note : <b>Dans toutes ces méthodes, NOS modèles ne doivent en aucun cas être modifiés</b>
- * <p/>
- * Par contre les modèles des ui peuvent être modifiés (par exemple modèle d'arbre, de liste)
- * mais uniquement à partir de nos modèles.
- *
- * @author chemit
- */
-public class MainUIRefreshHelper {
-
-
- public static void refreshExportElement(SimExplorerContext context, AbstractButton button, boolean remote, LoggableElement sNode) {
- boolean enabled = EntityHelper.Action.EXPORT.accept(sNode) && context.isConnected();
- refreshExportElement(context,button, remote, enabled ? sNode.getMetaData(): null);
- }
-
- public static void refreshExportElement(SimExplorerContext context, AbstractButton button, boolean remote, MetaData data) {
- boolean enabled = EntityHelper.Action.EXPORT.accept(data) && context.isConnected();
- button.setEnabled(enabled);
- String t = null;
- if (enabled) {
- ExportElementAction action = (ExportElementAction) button.getAction();
- t = _(action.getI18nToolTipText(remote), data.getName(), data.getVersion().toString());
- }
- button.setToolTipText(t);
- }
-
- protected static void UpdateButton(AbstractButton button, boolean enabled, Object... params) {
- button.setEnabled(enabled);
- if (!enabled) {
- button.setToolTipText(null);
- } else {
-
- }
- SimExplorerAbstractAction action = (SimExplorerAbstractAction) button.getAction();
- String t = _(action.getI18nToolTipText(), params);
- button.setToolTipText(t);
- }
-
-
- protected MainUIRefreshHelper() {
- // do not instanciate me please
- }
-
-}
-
-/**
- * Rafraichit les uis après un changement de status de connexion de l'utilisateur.
- * <p/>
- * Si l'utilisateur est déconnecté, alors toutes les ui et actions liées au
- * mode remote sont fermées et les actions correspondantes sont rendues
- * inaccessibles.
- *
- * @param ui l'ui principale
- * @param isConnected flag pour indique si l'utiliseur est connecté
- * @param history l'historique de l'onglet de detail
- */
-/* public static void refreshConnnectState(SimExplorerMainUI ui, final boolean isConnected, HistoryModel<EntityTreeNode> history) {
-
- //SwingUtilities.invokeLater(new Runnable() {
- // public void run() {
- ui.getConnect().setEnabled(!isConnected);
- ui.getUnconnect().setEnabled(isConnected);
- ui.getShowTab_remote().setEnabled(isConnected);
- ui.getToggleTab_remote().setEnabled(isConnected);
-
- JTabbedPane container = ui.getContent();
- DetailTabModel model = (DetailTabModel) SimExplorerTab.detail.getModel();
- JDetailTab tabUI = (JDetailTab) SimExplorerTab.detail.getUI();
- if (!isConnected) {
- // close all connected ui
-
- if (SimExplorerTab.remote.isTabVisible(container)) {
- // close tab
- SimExplorerTab.remote.closeTab(container);
- }
- if (SimExplorerTab.synchronize.isTabVisible(container)) {
- // close tab
- SimExplorerTab.synchronize.closeTab(container);
- }
- if (SimExplorerTab.detail.isTabVisible(container) && history != null) {
- if (history.isEmpty()) {
- // close tab, no more history
- SimExplorerTab.detail.closeTab(container);
- } else {
- // select current history element
- EntityTreeNode node = history.getCurrent();
- model.synch(node);
- //model.setRemote(node.isRemote());
- //model.setRootNode((LoggableElement) node.getUserObject());
- DetailTabRefreshHelper.updateDetailNavigationTree(tabUI, model.getHistory());
- }
- }
- }
- if (SimExplorerTab.detail.isTabVisible(container)) {
- DetailTabRefreshHelper.refreshSynchroniseAction(tabUI, model);
- DetailTabRefreshHelper.refreshExportAction(tabUI, model);
- }
-
- if (SimExplorerTab.local.isTabVisible(container)) {
- ListTabRefreshHelper.refreshListTablePopupMenu((JListTab) SimExplorerTab.local.getUI(), (ListTabModel) SimExplorerTab.local.getModel());
- }
- // }
- //});
-}*/
-
-/**
- * Rafraichit les actions i18n dans le menu en fonction de la locale
- * actuellement utilisée.
- *
- * @param ui l'ui principale
- */
-/*public static void refreshI18nActions(SimExplorerMainUI ui) {
- LanguageEnum language = SimExplorer.getContext().getConfig().getUserLanguage();
- CountryEnum country = SimExplorer.getContext().getConfig().getUserCountry();
- String[] actions = SimExplorerActionManager.getFactory().getActionNames();
- for (String actionName : actions) {
- Matcher matcher = ChangeI18nAbstractAction.PATTERN_NAME.matcher(actionName);
- if (!matcher.matches()) {
- continue;
- }
- AbstractButton button = (AbstractButton) ui.getObjectById(actionName);
- ChangeI18nAbstractAction action = (ChangeI18nAbstractAction) button.getAction();
- boolean enable = !action.equalsLocale(language, country);
- button.setEnabled(enable);
- }
-}*/
\ No newline at end of file
Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerMainUI.java
===================================================================
--- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerMainUI.java 2008-02-21 11:43:30 UTC (rev 1168)
+++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerMainUI.java 2008-02-21 11:45:01 UTC (rev 1169)
@@ -18,13 +18,18 @@
* ##% */
package fr.cemagref.simexplorer.is.ui.swing.ui;
+import fr.cemagref.simexplorer.is.entities.EntityHelper;
+import fr.cemagref.simexplorer.is.entities.data.LoggableElement;
+import fr.cemagref.simexplorer.is.entities.metadata.MetaData;
import fr.cemagref.simexplorer.is.ui.swing.SimExplorer;
import fr.cemagref.simexplorer.is.ui.swing.SimExplorerActionManager;
import fr.cemagref.simexplorer.is.ui.swing.SimExplorerContext;
-import fr.cemagref.simexplorer.is.ui.swing.ui.SimExplorerUI;
+import fr.cemagref.simexplorer.is.ui.swing.actions.ExportElementAction;
import fr.cemagref.simexplorer.is.ui.swing.actions.util.ChangeI18nAbstractAction;
+import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractAction;
import org.codelutin.i18n.CountryEnum;
import org.codelutin.i18n.LanguageEnum;
+import static org.codelutin.i18n.I18n.*;
import javax.swing.AbstractButton;
import javax.swing.JComponent;
@@ -40,7 +45,7 @@
* @author chemit
*/
public class SimExplorerMainUI extends SimExplorerUI {
- /* begin raw body code */
+
/** l'ui principale de l'application */
public static SimExplorerMainUI ui;
@@ -57,12 +62,24 @@
ui = null;
}
+ public void setStatus(final String msg) {
+
+ Runnable runnable = new Runnable() {
+ public void run() {
+ //TODO il faut enlever le synchronize dans statusBar
+ //getStatusBar().setStatus(msg);
+ //System.out.println(msg);
+ }
+ };
+ SwingUtilities.invokeLater(runnable);
+ }
+
protected SimExplorerMainUI() {
super();
finalizeInit(SimExplorer.getContext());
}
- public void finalizeInit(SimExplorerContext context) {
+ protected void finalizeInit(SimExplorerContext context) {
// chargement dans l'ui des actions
SimExplorerActionManager.loadActions(this, null);
@@ -76,18 +93,8 @@
// repaint i18n actions
refreshI18nActions(context);
- }
- public void setStatus(final String msg) {
-
- Runnable runnable = new Runnable() {
- public void run() {
- //TODO il faut enlever le synchronize dans statusBar
- //getStatusBar().setStatus(msg);
- //System.out.println(msg);
- }
- };
- SwingUtilities.invokeLater(runnable);
+ UpdateButton(getHistoryReset(), false);
}
/**
@@ -112,4 +119,31 @@
button.setEnabled(enable);
}
}
+
+ public void refreshExportElement(SimExplorerContext context, AbstractButton button, boolean remote, LoggableElement sNode) {
+ boolean enabled = EntityHelper.Action.EXPORT.accept(sNode) && context.isConnected();
+ refreshExportElement(context, button, remote, enabled ? sNode.getMetaData() : null);
+ }
+
+ public void refreshExportElement(SimExplorerContext context, AbstractButton button, boolean remote, MetaData data) {
+ boolean enabled = EntityHelper.Action.EXPORT.accept(data) && context.isConnected();
+ button.setEnabled(enabled);
+ String t = null;
+ if (enabled) {
+ ExportElementAction action = (ExportElementAction) button.getAction();
+ t = _(action.getI18nToolTipText(remote), data.getName(), data.getVersion().toString());
+ }
+ button.setToolTipText(t);
+ }
+
+ public static void UpdateButton(AbstractButton button, boolean enabled, Object... params) {
+ button.setEnabled(enabled);
+ if (!enabled) {
+ button.setToolTipText(null);
+ } else {
+ SimExplorerAbstractAction action = (SimExplorerAbstractAction) button.getAction();
+ String t = _(action.getI18nToolTipText(), params);
+ button.setToolTipText(t);
+ }
+ }
}
Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerTab.java
===================================================================
--- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerTab.java 2008-02-21 11:43:30 UTC (rev 1168)
+++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerTab.java 2008-02-21 11:45:01 UTC (rev 1169)
@@ -18,9 +18,6 @@
* ##% */
package fr.cemagref.simexplorer.is.ui.swing.ui;
-import fr.cemagref.simexplorer.is.ui.swing.ui.JDetailTab;
-import fr.cemagref.simexplorer.is.ui.swing.ui.JListTab;
-import fr.cemagref.simexplorer.is.ui.swing.ui.JSynchronizeTab;
import fr.cemagref.simexplorer.is.ui.swing.SimExplorerContext;
import fr.cemagref.simexplorer.is.ui.swing.model.DetailTabModel;
import fr.cemagref.simexplorer.is.ui.swing.model.ListTabModel;
@@ -49,7 +46,7 @@
shortDescription = "simexplorer.tab.detail.tooltip"
)detail {
public <U extends JAXXTab, M extends SimExplorerTabModel> void updateUI(SimExplorerContext context, SimExplorerMainUI mainUi, U ui, M model) {
- DetailTabRefreshHelper.refreshDetailTab((JDetailTab) ui, (DetailTabModel) model);
+ DetailTabRefreshHelper.refreshDetailTab(mainUi, (JDetailTab) ui, (DetailTabModel) model);
}},
@TabContentConfig(
@@ -85,7 +82,7 @@
shortDescription = "simexplorer.tab.synchronize.tooltip"
)synchronize {
public <U extends JAXXTab, M extends SimExplorerTabModel> void updateUI(SimExplorerContext context, SimExplorerMainUI mainUi, U ui, M model) {
- SynchronizeTabRefreshHelper.refreshSynchronizeTab(context,(JSynchronizeTab) ui, (SynchronizeTabModel) model);
+ SynchronizeTabRefreshHelper.refreshSynchronizeTab(mainUi,context,(JSynchronizeTab) ui, (SynchronizeTabModel) model);
}
};
Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SynchronizeTabRefreshHelper.java
===================================================================
--- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SynchronizeTabRefreshHelper.java 2008-02-21 11:43:30 UTC (rev 1168)
+++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/SynchronizeTabRefreshHelper.java 2008-02-21 11:45:01 UTC (rev 1169)
@@ -19,7 +19,6 @@
package fr.cemagref.simexplorer.is.ui.swing.ui;
import fr.cemagref.simexplorer.is.entities.data.LoggableElement;
-import fr.cemagref.simexplorer.is.ui.swing.ui.JSynchronizeTab;
import fr.cemagref.simexplorer.is.ui.swing.SimExplorerContext;
import fr.cemagref.simexplorer.is.ui.swing.model.SynchronizeTabModel;
@@ -44,19 +43,19 @@
*/
public class SynchronizeTabRefreshHelper {
- protected static void refreshSynchronizeTab(SimExplorerContext context, JSynchronizeTab ui, SynchronizeTabModel model) {
+ protected static void refreshSynchronizeTab(SimExplorerMainUI mainUi,SimExplorerContext context, JSynchronizeTab ui, SynchronizeTabModel model) {
EntityTreeNodeHelper.refreshTreeActions(ui.getCollapseButton(false), ui.getExpandButton(false), null);
EntityTreeNodeHelper.refreshTreeActions(ui.getCollapseButton(true), ui.getExpandButton(true), null);
- refreshExportElement(context, ui, model, true);
- refreshExportElement(context, ui, model, false);
+ mainUi.refreshExportElement(context, ui.getExportButton(false), false, model.getSelectedNode(false));
+ mainUi.refreshExportElement(context, ui.getExportButton(true), true, model.getSelectedNode(true));
- refreshRootNode(ui, model, false);
- refreshRootNode(ui, model, true);
+ refreshRootNode(mainUi,context,ui, model, false);
+ refreshRootNode(mainUi,context,ui, model, true);
}
- public static void updateTree(SimExplorerMainUI mainUi, JTabbedPane container, LoggableElement oldLocalRoot, LoggableElement oldRemoteRoot) {
+ public static void updateTree(SimExplorerMainUI mainUi,SimExplorerContext context, JTabbedPane container, LoggableElement oldLocalRoot, LoggableElement oldRemoteRoot) {
SimExplorerTab tab = SimExplorerTab.synchronize;
@@ -70,16 +69,16 @@
if (model.getRootNode(false) != oldLocalRoot) {
// rebuild node ?
- refreshRootNode(ui, model, false);
+ refreshRootNode(mainUi,context,ui, model, false);
}
if (model.getRootNode(true) != oldRemoteRoot) {
// rebuild node ?
- refreshRootNode(ui, model, true);
+ refreshRootNode(mainUi,context,ui, model, true);
}
}
- protected static void refreshRootNode(JSynchronizeTab ui, SynchronizeTabModel model, boolean remote) {
+ protected static void refreshRootNode(SimExplorerMainUI mainUi,SimExplorerContext context,JSynchronizeTab ui, SynchronizeTabModel model, boolean remote) {
LoggableElement element;
TreeNode root = null;
@@ -95,16 +94,13 @@
if (root == null) {
tree.getSelectionModel().clearSelection();
+ LoggableElement sNode = model.getSelectedNode(remote);
+ mainUi.refreshExportElement(context, ui.getExportButton(remote), remote, sNode);
} else {
tree.setSelectionRow(0);
}
}
- public static void refreshExportElement(SimExplorerContext context, JSynchronizeTab ui, SynchronizeTabModel model, boolean remote) {
- LoggableElement sNode = model.getSelectedNode(remote);
- MainUIRefreshHelper.refreshExportElement(context, ui.getExportButton(remote), remote, sNode);
- }
-
protected SynchronizeTabRefreshHelper() {
// do not instanciate me please
}
Modified: trunk/simexplorer-is/simexplorer-is-swing/src/uimodel/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerUI.jaxx
===================================================================
--- trunk/simexplorer-is/simexplorer-is-swing/src/uimodel/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerUI.jaxx 2008-02-21 11:43:30 UTC (rev 1168)
+++ trunk/simexplorer-is/simexplorer-is-swing/src/uimodel/fr/cemagref/simexplorer/is/ui/swing/ui/SimExplorerUI.jaxx 2008-02-21 11:45:01 UTC (rev 1169)
@@ -29,6 +29,7 @@
</JMenu>
<JMenuItem id="config"/>
<JMenuItem id="resetPassword"/>
+ <JMenuItem id="historyReset"/>
</JMenu>
<!-- menu aide -->
<JMenu text='simexplorer.help.menu' mnemonic="{'e'}">