Author: fgilet Date: 2010-02-18 09:42:25 +0100 (Thu, 18 Feb 2010) New Revision: 98 Added: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMModel.java trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMNavigationListener.java trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/TableModel.java Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/Main.java trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java Log: Travail sur la navigation et le contenu d'une table. Affichage de l'arborescence lors de la validation d'une connexion. Affichage du contenu d'une table lors de la selection d'un noeud de l'arbre. Affichage basique (A modifier). Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/Main.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/Main.java 2010-02-17 22:06:29 UTC (rev 97) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/Main.java 2010-02-18 08:42:25 UTC (rev 98) @@ -16,11 +16,13 @@ * $Author: tchemit $ */ public class Main { - + + Locale locale = Locale.FRANCE; + private Main(){ I18n.setUniqueBundleName("mapstoragemanager-i18n"); - I18n.init(Locale.FRANCE); - final MainUI ui = new MainUI(); + I18n.init(locale); + final MainUI ui = MainUI.getInstance(); SwingUtilities.invokeLater(new Runnable() { Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx 2010-02-17 22:06:29 UTC (rev 97) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/MainUI.jaxx 2010-02-18 08:42:25 UTC (rev 98) @@ -5,8 +5,27 @@ <script> <![CDATA[ import org.nuiton.mapstoragemanager.ui.gui.ApplicationEngine; + import javax.swing.tree.*; - ApplicationEngine engine = new ApplicationEngine(); + ApplicationEngine engine = new ApplicationEngine(this); + + /** + * classe instance (singleton pattern). + */ + private static MainUI instance = null; + + /** + * getInstance method (singleton pattern). + * @return instance of the class + */ + public static MainUI getInstance() { + if (instance == null){ + instance = new MainUI(); + } + return instance; + } + + ]]> </script> @@ -53,47 +72,27 @@ <JPanel layout='{new BorderLayout()}' id='mainPanel'> <JToolBar constraints='BorderLayout.NORTH' opaque='true'> <JLabel text="name base :" styleClass='boldUnderline' /> - <JAXXComboBox id='nameBase'> - <item value='{null}' label='Select a base name' /> - <item value='HBase'/> + <JAXXComboBox id='nameBase' onActionPerformed='engine.doSomething()' > + <item value='HBase' selected='true' /> <item value='Cassandra'/> <item value='Other'/> </JAXXComboBox> <JLabel text="login :" styleClass='boldUnderline'/> - <JTextField/> + <JTextField id='login'/> <JLabel text="password :" styleClass='boldUnderline'/> - <JPasswordField/> - <JButton text="ok"/> + <JPasswordField id='password'/> + <JButton text="ok" onActionPerformed='engine.connection()'/> </JToolBar> - <JSplitPane constraints='BorderLayout.CENTER' dividerLocation='200' > + <JSplitPane constraints='BorderLayout.CENTER' dividerLocation='300' > <JScrollPane> <JPanel> - <!-- - FUTUR CODE - <JTree id='navigation' - model='{createMSMTreeModel()}' - selectionModel="{createMSMTreHandler()}"/> - --> - - <JAXXTree id='baseSchema' showsRootHandles='true' onValueChanged='engine.doSomething()' > - <item value='No base schema' /> - </JAXXTree> + model='{new DefaultTreeModel(new DefaultMutableTreeNode("Welcome to MapStorageManager"))}' /> </JPanel> </JScrollPane> <JScrollPane> - <!-- - FUTUR CODE - <JPanel id='tableContent'/> - --> - - <VBox horizontalAlignment='center'> - <JPanel> - </JPanel> - <JLabel text="TABLE NAME : TODO"/> - </VBox> </JScrollPane> </JSplitPane> </JPanel> Modified: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java 2010-02-17 22:06:29 UTC (rev 97) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/ApplicationEngine.java 2010-02-18 08:42:25 UTC (rev 98) @@ -3,8 +3,16 @@ import java.util.Locale; import java.util.ResourceBundle; import javax.swing.JOptionPane; +import javax.swing.SwingUtilities; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.MutableTreeNode; +import javax.swing.tree.TreeModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.i18n.I18n; +import org.nuiton.mapstoragemanager.Main; +import org.nuiton.mapstoragemanager.ui.MainUI; /** * Engine Class with methods for application user interface. @@ -21,6 +29,12 @@ private Locale currentLocale; private ResourceBundle messages; + public MainUI application; + + public ApplicationEngine(MainUI application){ + this.application = application; + } + /** * Show the developers. * // TODO @@ -47,8 +61,47 @@ * @param country the country */ public void setLocale(String language, String country) { - currentLocale= new Locale(language,country); - messages = ResourceBundle.getBundle("mapstoragemanager",currentLocale); - LOG.info(messages.getString("ok")); + /*Locale locale = new Locale(language,country); + System.out.println("local en "+language+"_"+country); + I18n.close(); + I18n.setUniqueBundleName("mapstoragemanager-i18n"); + I18n.init(locale); + final MainUI ui = new MainUI(); + ui.setVisible(true);*/ } + + /*public void setMainUI(MainUI application) { + this.application = application; + }*/ + + public void connection(){ + String nameBase = MainUI.getInstance().getNameBase().getSelectedJaxxItem().getValue().toString(); + String login = MainUI.getInstance().getLogin().getText(); + char[] password = MainUI.getInstance().getPassword().getPassword(); + + //connection verification + boolean goodUse = true; + //boolean goodUse = verifyConnection(nameBase, login, password); + if(goodUse){ + //update tree + MainUI.getInstance().getNavigation().setModel(new MSMModel(nameBase)); + MainUI.getInstance().getNavigation().addTreeSelectionListener(new MSMNavigationListener()); + + DefaultMutableTreeNode root = (DefaultMutableTreeNode) MainUI.getInstance().getNavigation().getModel().getRoot(); + DefaultTreeModel dtm = ((DefaultTreeModel) MainUI.getInstance().getNavigation().getModel()); + dtm.insertNodeInto(new DefaultMutableTreeNode("table1"), root, root.getChildCount()); + dtm.insertNodeInto(new DefaultMutableTreeNode("table2"), root, root.getChildCount()); + dtm.insertNodeInto(new DefaultMutableTreeNode("table3"), root, root.getChildCount()); + + MainUI.getInstance().getNavigation().repaint(); + MainUI.getInstance().getNavigation().revalidate(); + }else{ + //display error + JOptionPane.showMessageDialog(null, "The connection attempt has failed, Please retry !"); + } + + } + + + } Added: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMModel.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMModel.java (rev 0) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMModel.java 2010-02-18 08:42:25 UTC (rev 98) @@ -0,0 +1,30 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.nuiton.mapstoragemanager.ui.gui; + +import java.awt.*; +import javax.swing.*; +import javax.swing.event.TreeModelListener; +import javax.swing.tree.*; +import jaxx.runtime.swing.Item; +import jaxx.runtime.swing.JAXXComboBox; +import org.nuiton.mapstoragemanager.ui.MainUI; + +/** + * + * @author E045231P + */ +public class MSMModel extends DefaultTreeModel { + + public MSMModel(String value){ + super(null); + DefaultMutableTreeNode racine = new DefaultMutableTreeNode(value); + setRoot(racine); + } + + + +} Added: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMNavigationListener.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMNavigationListener.java (rev 0) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/MSMNavigationListener.java 2010-02-18 08:42:25 UTC (rev 98) @@ -0,0 +1,46 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.nuiton.mapstoragemanager.ui.gui; + +import javax.swing.JTable; +import javax.swing.event.TreeSelectionEvent; +import javax.swing.event.TreeSelectionListener; +import javax.swing.tree.DefaultMutableTreeNode; +import org.nuiton.mapstoragemanager.ui.MainUI; + +/** + * + * @author E045231P + */ +public class MSMNavigationListener implements TreeSelectionListener { + + @Override + public void valueChanged(TreeSelectionEvent e) { + DefaultMutableTreeNode node = (DefaultMutableTreeNode)MainUI.getInstance().getNavigation().getLastSelectedPathComponent(); + MainUI.getInstance().getTableContent().removeAll() + ; + /* if nothing is selected */ + if (node == null) { + return; + } else { + //we create a standard model of table + TableModel exemple = new TableModel(); + JTable jTable = new JTable(exemple); + + //we check attributes and values of the select table + + + //and display the result into the JPanel named 'tableContent' + MainUI.getInstance().getTableContent().add(jTable); + } + + MainUI.getInstance().getTableContent().repaint(); + MainUI.getInstance().getTableContent().revalidate(); + } + + + +} Added: trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/TableModel.java =================================================================== --- trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/TableModel.java (rev 0) +++ trunk/msm/src/main/java/org/nuiton/mapstoragemanager/ui/gui/TableModel.java 2010-02-18 08:42:25 UTC (rev 98) @@ -0,0 +1,45 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.nuiton.mapstoragemanager.ui.gui; + +import javax.swing.table.AbstractTableModel; + +/** + * + * @author E045231P + */ +public class TableModel extends AbstractTableModel { + + public TableModel() { } + + public int getColumnCount() { + return 10; + } + + public Object getValueAt(int parm1, int parm2) { + if(parm1==0) + if( parm2==0) return "1"; else return ""; + else + if(parm2>parm1) return ""; + else + if (parm2==parm1) return "1"; + else + if (parm2==0) return "1"; + else{ + int i = Integer.parseInt((String)getValueAt(parm1-1, parm2-1)); + int j = Integer.parseInt((String)getValueAt(parm1-1, parm2)); + return Integer.toString(i+j); + } + } + + public int getRowCount() { + return 10; + } + + public String getColumnName(int col){ + return ""; + } +}
participants (1)
-
fgilet@users.nuiton.org