Author: tchemit Date: 2008-02-11 17:07:53 +0000 (Mon, 11 Feb 2008) New Revision: 815 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/resources/actions.properties trunk/simexplorer-is/simexplorer-is-swing/src/resources/i18n/simexplorer-is-swing-en_GB.properties trunk/simexplorer-is/simexplorer-is-swing/src/resources/i18n/simexplorer-is-swing-fr_FR.properties trunk/simexplorer-is/simexplorer-is-swing/src/uimodel/fr/cemagref/simexplorer/is/ui/swing/tab/JApplicationListTab.jaxx Log: mise en place de la popup sur la table 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-02-11 15:09:20 UTC (rev 814) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowListTabAbstractAction.java 2008-02-11 17:07:53 UTC (rev 815) @@ -26,16 +26,18 @@ import fr.cemagref.simexplorer.is.ui.swing.SimExplorerActionManager; 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.JApplicationTableModel; import fr.cemagref.simexplorer.is.ui.swing.model.ListTabModel; +import fr.cemagref.simexplorer.is.ui.swing.model.SynchronizeTabModel; import fr.cemagref.simexplorer.is.ui.swing.tab.JApplicationListTab; import jaxx.runtime.JAXXObject; import javax.swing.AbstractAction; import javax.swing.AbstractButton; import javax.swing.JTabbedPane; +import javax.swing.event.ListSelectionListener; +import javax.swing.event.ListSelectionEvent; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.KeyAdapter; @@ -79,13 +81,38 @@ } protected void initFirstUsage(final JApplicationListTab ui, final ListTabModel model) { + ui.getDeleteLoggableElement().setHideActionText(false); + ui.getDownloadLoggableElement().setHideActionText(false); + ui.getExportApplication().setHideActionText(false); + + ui.getTable().getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + int index = ui.getTable().getSelectedRow(); + model.setSelectedIndex(index); + SimExplorerUIRefreshHelper.refreshListTablePopupMenu(ui,model); + } + }); // add a show detail action when double click on a row of the table ui.getTable().addMouseListener(new MouseAdapter() { /** l'action d'affichage de l'onglet de détail */ AbstractAction detailAction = SimExplorerActionManager.newAction("showTab_detail", (AbstractButton) null); + AbstractAction synchronizeAction = SimExplorerActionManager.newAction("showTab_synchronize", (AbstractButton) null); + @Override + public void mousePressed(MouseEvent e) { + super.mousePressed(e); + initPopup(e); + } + + @Override + public void mouseReleased(MouseEvent e) { + super.mouseReleased(e); + initPopup(e); + } + + @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { // récupération du metadata à afficher @@ -103,7 +130,7 @@ detailModel.reset(); // positionnement du type de détail (local ou remote) detailModel.setRemote(remote); - // positionnement du rootNode du modèle + // positionnement du rootNode du modèle detailModel.setRootNode(element); log.info("prepare detail - uuid:" + uuid + ", version:" + version + " (remote ?" + remote + ")"); // lancement de l'action d'affichage du tab @@ -113,9 +140,18 @@ } } } + + protected void initPopup(MouseEvent e) { + int row = ui.getTable().rowAtPoint(e.getPoint()); + if (e.isPopupTrigger() && ui.getTablePopupMenu().isEnabled() && row==model.getSelectedIndex()) { + SynchronizeTabModel synchronizeTabModel = (SynchronizeTabModel) SimExplorerTab.synchronize.getModel(); + synchronizeTabModel.setRemote(isRemote()); + ui.getTablePopupMenu().show(ui.getTable(),e.getX(),e.getY()); + } + } }); + // add search actions listeners - ui.getSearchText().addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { Modified: trunk/simexplorer-is/simexplorer-is-swing/src/resources/actions.properties =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/resources/actions.properties 2008-02-11 15:09:20 UTC (rev 814) +++ trunk/simexplorer-is/simexplorer-is-swing/src/resources/actions.properties 2008-02-11 17:07:53 UTC (rev 815) @@ -16,6 +16,8 @@ action.showTab_detail=fr.cemagref.simexplorer.is.ui.swing.actions.ShowDetailTabAction action.showTab_synchronize=fr.cemagref.simexplorer.is.ui.swing.actions.ShowSynchronizeTabAction +action.launchSynchronize=fr.cemagref.simexplorer.is.ui.swing.actions.LaunchSynchronizeAction + action.toggleTab_local=fr.cemagref.simexplorer.is.ui.swing.actions.ToggleLocalTabAction action.toggleTab_remote=fr.cemagref.simexplorer.is.ui.swing.actions.ToggleRemoteTabAction Modified: trunk/simexplorer-is/simexplorer-is-swing/src/resources/i18n/simexplorer-is-swing-en_GB.properties =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/resources/i18n/simexplorer-is-swing-en_GB.properties 2008-02-11 15:09:20 UTC (rev 814) +++ trunk/simexplorer-is/simexplorer-is-swing/src/resources/i18n/simexplorer-is-swing-en_GB.properties 2008-02-11 17:07:53 UTC (rev 815) @@ -102,7 +102,7 @@ simexplorer.action.site.tooltip=Go to SimExplorer SI site simexplorer.action.synchronize=Synchronize simexplorer.action.synchronize.help= -simexplorer.action.synchronize.tooltip=Launch synchronization +simexplorer.action.synchronize.tooltip=Launch synchronization of ''{0}'' simexplorer.action.unconnect=Unconnect simexplorer.action.unconnect.help= simexplorer.action.unconnect.tooltip=Disconnect from remote server Modified: trunk/simexplorer-is/simexplorer-is-swing/src/resources/i18n/simexplorer-is-swing-fr_FR.properties =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/resources/i18n/simexplorer-is-swing-fr_FR.properties 2008-02-11 15:09:20 UTC (rev 814) +++ trunk/simexplorer-is/simexplorer-is-swing/src/resources/i18n/simexplorer-is-swing-fr_FR.properties 2008-02-11 17:07:53 UTC (rev 815) @@ -102,7 +102,7 @@ simexplorer.action.site.tooltip=Acc\u00E9der \u00E0 l'aide simexplorer.action.synchronize=Synchroniser simexplorer.action.synchronize.help= -simexplorer.action.synchronize.tooltip=Lancer une nouvelle synchronisation +simexplorer.action.synchronize.tooltip=Lancer la synchronisation de ''{0}'' simexplorer.action.unconnect=D\u00E9connexion simexplorer.action.unconnect.help= simexplorer.action.unconnect.tooltip=Se d\u00E9connecter du serveur distant Modified: trunk/simexplorer-is/simexplorer-is-swing/src/uimodel/fr/cemagref/simexplorer/is/ui/swing/tab/JApplicationListTab.jaxx =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/uimodel/fr/cemagref/simexplorer/is/ui/swing/tab/JApplicationListTab.jaxx 2008-02-11 15:09:20 UTC (rev 814) +++ trunk/simexplorer-is/simexplorer-is-swing/src/uimodel/fr/cemagref/simexplorer/is/ui/swing/tab/JApplicationListTab.jaxx 2008-02-11 17:07:53 UTC (rev 815) @@ -6,8 +6,14 @@ <!-- la barre des actions de la liste --> <row> <cell fill='horizontal' insets='0,0,0,0'> + <JPopupMenu id="tablePopupMenu" invoker='{table}' enabled='false'> + <JMenuItem id='launchSynchronize'/> + <JMenuItem id='exportApplication'/> + <JMenuItem id='downloadLoggableElement'/> + <JMenuItem id='deleteLoggableElement'/> + </JPopupMenu> <JToolBar> - <JButton id='importApplication'/> + <JButton id='importApplication'/> <JTextField id='searchText' toolTipText='{_("simexplorer.action.searchText.tooltip")}'/> <JButton id='searchApplication'/> <JButton id='resetSearchApplication'/>