r1028 - trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing
Author: tchemit Date: 2008-02-16 15:41:38 +0000 (Sat, 16 Feb 2008) New Revision: 1028 Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerMainUI.java trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerTab.java Log: ajout d'un raccourcie clavier Ctrl-W pour fermer l'onglet selectionne Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerMainUI.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerMainUI.java 2008-02-16 15:35:36 UTC (rev 1027) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerMainUI.java 2008-02-16 15:41:38 UTC (rev 1028) @@ -19,6 +19,14 @@ package fr.cemagref.simexplorer.is.ui.swing; import javax.swing.SwingUtilities; +import javax.swing.JComponent; +import javax.swing.KeyStroke; +import javax.swing.AbstractAction; +import javax.swing.JTabbedPane; +import java.awt.event.KeyEvent; +import java.awt.event.InputEvent; +import java.awt.event.ActionEvent; +import java.awt.Component; /** * L'ui principale de l'application @@ -33,15 +41,35 @@ // chargement dans l'ui des actions SimExplorerActionManager.loadActions(this, null); + // add Ctrl-W to close current tab + getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.CTRL_MASK), "closeSelectedTab"); + getRootPane().getActionMap().put("closeSelectedTab", new AbstractAction() { + private static final long serialVersionUID = -3166738263954350322L; + + public void actionPerformed(ActionEvent e) { + JTabbedPane container = getContent(); + Component header = container.getSelectedComponent(); + + for (SimExplorerTab tab : SimExplorerTab.values()) { + if (tab.isTabVisible(container) && header.equals(tab.getUI())) { + // this is the actually selected tab + tab.closeTab(container); + } + } + } + }); + // repaint i18n actions MainUIRefreshHelper.refreshI18nActions(this); } 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); Modified: trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerTab.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerTab.java 2008-02-16 15:35:36 UTC (rev 1027) +++ trunk/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerTab.java 2008-02-16 15:41:38 UTC (rev 1028) @@ -92,12 +92,12 @@ public boolean isTabVisible(JTabbedPane container) { JAXXTab ui = getUI(); - return ui != null && getFactory().getTabIndex(container, (JComponent) ui) > -1; + return ui != null && getFactory().getTabIndex(container, ui) > -1; } public int getTabIndex(JTabbedPane container) { JAXXTab ui = getUI(); - return ui == null ? -1 : getFactory().getTabIndex(container, (JComponent) ui); + return ui == null ? -1 : getFactory().getTabIndex(container, ui); } public void showTab(final JTabbedPane container) {
participants (1)
-
tchemit@users.labs.libre-entreprise.org