Author: fgilet Date: 2010-03-24 22:46:40 +0100 (Wed, 24 Mar 2010) New Revision: 270 Log: Changement de Listener sur l'arbre de navigation Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/ApplicationEngine.java trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/MSMNavigationListener.java trunk/msm/src/main/resources/i18n/msm-en_GB.properties trunk/msm/src/main/resources/i18n/msm-fr_FR.properties Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/ApplicationEngine.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/ApplicationEngine.java 2010-03-24 17:27:14 UTC (rev 269) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/ApplicationEngine.java 2010-03-24 21:46:40 UTC (rev 270) @@ -194,7 +194,8 @@ for (final String nomPlugin : nomPlugins) { JCheckBox pluginButton = new JCheckBox(nomPlugin); pluginButton.setSize(buttonWidth, buttonHeight); - + //boolean isSelected = isSelected(nomPlugin); + //pluginButton.setEnabled(isSelected); buttonDisplay.add(pluginButton); } @@ -229,6 +230,38 @@ frameTemp.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); } + + /** + * To know if plugins are active in .properties. + */ +// public boolean isSelected(String nomPluginToControl) { +// final Properties properties = new Properties(); +// final File propertiesFile = new File(MSM_PLUGINS_DIR, ".properties"); +// try { +// FileInputStream fis = new FileInputStream(propertiesFile); +// properties.load(fis); +// Set<Object> props = properties.keySet(); +// for (Object property : props) { +// String nomPlugin = property.toString(); +// nomPlugin = nomPlugin.substring(nomPlugin.lastIndexOf('/')+1); +// String isSelected = nomPlugin.substring(nomPlugin.lastIndexOf('"')+1); +// LOG.info("isSelected : " + isSelected); +// if(nomPluginToControl.equals(nomPlugin)){ +// if(isSelected.equals("false")){ +// return false; +// }else{ +// return true; +// } +// } +// } +// +// } catch(FileNotFoundException e){ +// LOG.fatal(e, e); +// } catch (IOException ioe){ +// LOG.fatal(ioe, ioe); +// } +// return true; +// } /** @@ -418,7 +451,7 @@ */ private void uptableNavigationTree(JTree tree, String nameBase) { tree.setModel(new MSMModel(nameBase)); - tree.addTreeSelectionListener(new MSMNavigationListener()); + tree.addMouseListener(new MSMNavigationListener()); TreeModel model = tree.getModel(); DefaultMutableTreeNode root; Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/MSMNavigationListener.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/MSMNavigationListener.java 2010-03-24 17:27:14 UTC (rev 269) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/engine/MSMNavigationListener.java 2010-03-24 21:46:40 UTC (rev 270) @@ -1,13 +1,17 @@ package org.nuiton.mapstoragemanager.ui.engine; import java.awt.BorderLayout; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; import javax.swing.JLabel; +import javax.swing.JMenuItem; +import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JTable; -import javax.swing.event.TreeSelectionEvent; -import javax.swing.event.TreeSelectionListener; +import javax.swing.SwingUtilities; import javax.swing.tree.DefaultMutableTreeNode; import org.nuiton.mapstoragemanager.ui.MainUI; +import static org.nuiton.i18n.I18n._; /** * Listener on tree navigation in order to display table content. @@ -15,13 +19,23 @@ * @author Copyright CodeLutin * @since 0.1-SNAPSHOT */ -public class MSMNavigationListener implements TreeSelectionListener { +public class MSMNavigationListener implements MouseListener { - /** - * {@inheritDoc} + + @Override + public void mouseClicked(MouseEvent e) { + if(SwingUtilities.isLeftMouseButton(e)){ + leftButton(e); + } else if(SwingUtilities.isRightMouseButton(e)){ + rightButton(e); + } + } + + /** + * LEFT Button action. + * @param e event */ - @Override - public final void valueChanged(final TreeSelectionEvent e) { + private void leftButton(MouseEvent e){ MainUI ui = MainUI.getInstance(); DefaultMutableTreeNode node; @@ -61,6 +75,50 @@ ui.getTableName().revalidate(); } + /** + * RIGHT Button action. + * @param e event + */ + private void rightButton(MouseEvent e){ + JPopupMenu menu = new JPopupMenu(); + JMenuItem anItem; + MainUI ui = MainUI.getInstance(); + DefaultMutableTreeNode node; + node = (DefaultMutableTreeNode) ui.getNavigation(). + getLastSelectedPathComponent(); + if (node == null || node.isRoot()) { + anItem = new JMenuItem (_("add.table")); + //anItem.addActionListener(new AddtableListener()); + } else if (node.isLeaf()) { + return; + } else { + anItem = new JMenuItem (_("add.column")); + //anItem.addActionListener(new AddcolumnListener()); + } + + menu.add(anItem); + menu.show(e.getComponent(), e.getX(), e.getY()); + } + + @Override + public void mousePressed(MouseEvent e) { + } + + @Override + public void mouseReleased(MouseEvent e) { + } + + @Override + public void mouseEntered(MouseEvent e) { + + } + + @Override + public void mouseExited(MouseEvent e) { + + } + + } Modified: trunk/msm/src/main/resources/i18n/msm-en_GB.properties =================================================================== --- trunk/msm/src/main/resources/i18n/msm-en_GB.properties 2010-03-24 17:27:14 UTC (rev 269) +++ trunk/msm/src/main/resources/i18n/msm-en_GB.properties 2010-03-24 21:46:40 UTC (rev 270) @@ -1,3 +1,5 @@ +add.table=Add a table +add.column=Add a column Empty=Empty Export\ Database= Exporter\ \:= Modified: trunk/msm/src/main/resources/i18n/msm-fr_FR.properties =================================================================== --- trunk/msm/src/main/resources/i18n/msm-fr_FR.properties 2010-03-24 17:27:14 UTC (rev 269) +++ trunk/msm/src/main/resources/i18n/msm-fr_FR.properties 2010-03-24 21:46:40 UTC (rev 270) @@ -1,3 +1,5 @@ +add.table=Ajouter une table +add.column=Ajouter une colonne Empty=Vide Export\ Database= Exporter\ \:=