Author: mmichaud
Date: 2009-04-15 07:53:29 -0700 (Wed, 15 Apr 2009)
New Revision: 16581

Modified:
   csplugins/trunk/pasteur/mathieu/tunables2/.project
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/command/proxy.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/AbstractGuiHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BooleanHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedDoubleHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedFloatHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedIntegerHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedLongHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/DoubleHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/FileHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/FloatHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/GuiTunableInterceptor.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/Guihandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/InputStreamHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/IntegerHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/ListMultipleHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/ListSingleHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/LongHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/StringHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/URLHandler.java
   
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/util/XorPanel.java
Log:
Need to implement the resetValue() method for each type of tunable

Modified: csplugins/trunk/pasteur/mathieu/tunables2/.project
===================================================================
--- csplugins/trunk/pasteur/mathieu/tunables2/.project  2009-04-15 02:45:27 UTC 
(rev 16580)
+++ csplugins/trunk/pasteur/mathieu/tunables2/.project  2009-04-15 14:53:29 UTC 
(rev 16581)
@@ -1,23 +1,29 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-       <name>tunables2</name>
-       <comment></comment>
-       <projects>
-       </projects>
-       <buildSpec>
-               <buildCommand>
-                       <name>org.eclipse.jdt.core.javabuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.maven.ide.eclipse.maven2Builder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-       </buildSpec>
-       <natures>
-               <nature>org.eclipse.jdt.core.javanature</nature>
-               <nature>org.maven.ide.eclipse.maven2Nature</nature>
-       </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>tunables2</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       
<name>org.eclipse.wst.common.project.facet.core.builder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.maven.ide.eclipse.maven2Builder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+               <nature>org.maven.ide.eclipse.maven2Nature</nature>
+               
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+       </natures>
+</projectDescription>

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/command/proxy.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/command/proxy.java
    2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/command/proxy.java
    2009-04-15 14:53:29 UTC (rev 16581)
@@ -22,12 +22,8 @@
        
        //full test on each tunable defined in the class!!!!
        public String validate(){
-               String ret = null;
-//             if(param.equals("hostname")){
-//                     System.out.println("test for " + param);
-               if(!type.getSelectedValue().equals("direct"))
-                       if(!hostname.contains("cache"))ret=new String("There is 
a Problem");
-//             }
-               return ret;
+               if(!type.getSelectedValue().equals("direct") && 
!hostname.contains("cache"))
+                       return new String("There is a Problem");
+               else return null;
        }       
 }
\ No newline at end of file

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/AbstractGuiHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/AbstractGuiHandler.java
  2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/AbstractGuiHandler.java
  2009-04-15 14:53:29 UTC (rev 16581)
@@ -1,153 +1,160 @@
-
-package org.cytoscape.work;
-
-import java.awt.Component;
-import java.awt.Container;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.lang.reflect.Field;
-import java.util.LinkedList;
-import java.util.List;
-
-import javax.swing.JPanel;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-
-import org.cytoscape.work.internal.gui.*;
-
-
-public abstract class AbstractGuiHandler extends AbstractHandler implements 
Guihandler, ActionListener,ChangeListener,ListSelectionListener {
-
-       protected JPanel panel;
-
-    private String depName;
-    private String depState;
-    
-    private String depUnState;
-
-       private List<Guihandler> deps;
-
-       public AbstractGuiHandler(Field f, Object o, Tunable t) {
-               super(f,o,t);
-        String s = t.dependsOn();
-        if ( !s.equals("") ) {
-               if(!s.contains("!=")){
-                       depName = s.substring(0,s.indexOf("="));
-                       depState = s.substring(s.indexOf("=") + 1);
-                       depUnState = "";
-               }
-               else {
-                       depName = s.substring(0,s.indexOf("!"));
-                       depUnState = s.substring(s.indexOf("=")+1);
-                       depState = "";
-               }
-        }
-       
-               deps = new LinkedList<Guihandler>();
-               panel = new JPanel();
-       }
-
-       public void actionPerformed(ActionEvent ae) {
-               //System.out.println(this.getName() + " actionPerformed");
-               notifyDependents();
-               handle();
-       }
-
-       public void stateChanged(ChangeEvent e){
-               //handle();
-               notifyDependents();
-       }
-       
-    public void valueChanged(ListSelectionEvent le) {
-       boolean ok = le.getValueIsAdjusting();
-       if(!ok){
-               //handle();
-               notifyDependents();
-       }
-    }
-
-       
-       // notify dependencies that this object is changing
-       public void notifyDependents() {
-               String state = getState();
-               String name = getName();
-               for ( Guihandler gh : deps )
-                       gh.checkDependency( name, state );
-       }
-
-       // add a dependency on this object 
-       public void addDependent(Guihandler gh) {
-               //System.out.println("adding " + gh.getName() + " dependent to 
" + this.getName() );
-               if ( !deps.contains(gh) )
-                       deps.add(gh);
-       }
-
-       public String getDependency() {
-               return depName;
-       }
-
-       public void checkDependency(String name, String state) {
-
-               // if we don't depend on anything, then we should be enabled
-               if ( depName == null || depState == null ) {
-                       setEnabledContainer(true,panel); 
-                       return;
-               }
-
-               // if the dependency name matches ...
-        if ( depName.equals(name) ) {
-                       // ... and the state matches, then enable 
-               if(depState!=""){
-                       if ( depState.equals(state) ){
-                               setEnabledContainer(true,panel);
-                               handle();}
-                       // ... and the state doesn't match, then disable 
-                       else{
-                               setEnabledContainer(false,panel);
-                       }
-               }
-               else {
-                       if ( !depUnState.equals(state) ){
-                               setEnabledContainer(true,panel);
-                               handle();
-                       }
-                       // ... and the state doesn't match, then disable 
-                       else{
-                               setEnabledContainer(false,panel);
-                       }
-               }
-               }
-
-        return;
-       }
-
-       private void setEnabledContainer(boolean enable, Container c) {
-               c.setEnabled(enable);
-               for ( Component child : c.getComponents() ) {
-                       if ( child instanceof Container )
-                               setEnabledContainer(enable,(Container)child);
-                       else
-                               child.setEnabled(enable);
-               }
-       }
-
-       public String getName() {
-        if ( f != null ) {
-            return f.getName();
-        } else if ( m != null ) {
-            return m.getName();
-        } else
-            return "";
-       }
-
-       public JPanel getJPanel() {
-               return panel;
-       }
-
-       public abstract void handle();
-
-       public abstract String getState();
-
-}
+package org.cytoscape.work;
+
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.lang.reflect.Field;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.swing.JPanel;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+
+import org.cytoscape.work.AbstractHandler; 
+import org.cytoscape.work.Tunable; 
+import org.cytoscape.work.internal.gui.Guihandler;
+
+
+
+public abstract class AbstractGuiHandler extends AbstractHandler implements 
Guihandler, ActionListener,ChangeListener,ListSelectionListener {
+
+       protected JPanel panel;
+
+    private String depName;
+    private String depState;
+
+    private String depUnState;
+    
+       private List<Guihandler> deps;
+
+       protected AbstractGuiHandler(Field f, Object o, Tunable t) {
+               super(f,o,t);
+        String s = t.dependsOn();
+                if ( !s.equals("") ) {
+                       if(!s.contains("!=")){
+                               depName = s.substring(0,s.indexOf("="));
+                               depState = s.substring(s.indexOf("=") + 1);
+                               depUnState = "";
+                       }
+                       else {
+                               depName = s.substring(0,s.indexOf("!"));
+                               depUnState = s.substring(s.indexOf("=")+1);
+                               depState = "";
+                       }
+               }
+       
+               deps = new LinkedList<Guihandler>();
+               panel = new JPanel();
+       }
+
+       public void actionPerformed(ActionEvent ae) {
+//             handle();
+               notifyDependents();
+       }
+
+       public void stateChanged(ChangeEvent e){
+//             handle();
+               notifyDependents();
+       }
+       
+    public void valueChanged(ListSelectionEvent le) {
+       boolean ok = le.getValueIsAdjusting();
+       if(!ok){
+//             handle();
+               notifyDependents();
+       }
+    }
+
+       
+       // notify dependencies that this object is changing
+       public void notifyDependents() {
+               String state = getState();
+               String name = getName();
+               for ( Guihandler gh : deps )
+               gh.checkDependency( name, state );
+       }
+
+       // add a dependency on this object 
+       public void addDependent(Guihandler gh) {
+               //System.out.println("adding " + gh.getName() + " dependent to 
" + this.getName() );
+               if ( !deps.contains(gh) )
+                       deps.add(gh);
+       }
+
+       public String getDependency() {
+               return depName;
+       }
+
+       public void handleDependents(){
+               if(panel.isEnabled())handle();
+       }
+       
+       public void checkDependency(String name, String state) {
+               // if we don't depend on anything, then we should be enabled
+               if ( depName == null || depState == null ) {
+                       setEnabledContainer(true,panel);
+//                     handle();
+                       return;
+               }
+
+               // if the dependency name matches ...
+        if ( depName.equals(name) ) {
+                       // ... and the state matches, then enable 
+               if(depState!=""){
+                       if ( depState.equals(state) ){
+                               setEnabledContainer(true,panel);
+//                             handle();
+                       }
+                       // ... and the state doesn't match, then disable 
+                       else{
+                               setEnabledContainer(false,panel);
+                       }
+               }
+               else {
+                       if ( !depUnState.equals(state) ){
+                               setEnabledContainer(true,panel);
+//                             handle();
+                       }
+                       // ... and the state doesn't match, then disable 
+                       else{
+                               setEnabledContainer(false,panel);
+                       }
+               }
+               }
+
+        return;
+       }
+
+       private void setEnabledContainer(boolean enable, Container c) {
+               c.setEnabled(enable);
+               for ( Component child : c.getComponents() ) {
+                       if ( child instanceof Container )
+                               setEnabledContainer(enable,(Container)child);
+                       else
+                               child.setEnabled(enable);
+               }
+       }
+
+       public String getName() {
+        if ( f != null ) {
+            return f.getName();
+        } else if ( m != null ) {
+            return m.getName();
+        } else
+            return "";
+       }
+
+       public JPanel getJPanel() {
+               return panel;
+       }
+
+       public abstract void handle();
+
+       public abstract void resetValue();
+       
+       public abstract String getState();
+}

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BooleanHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BooleanHandler.java
 2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BooleanHandler.java
 2009-04-15 14:53:29 UTC (rev 16581)
@@ -54,4 +54,10 @@
                }
                return s;
        }
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedDoubleHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedDoubleHandler.java
   2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedDoubleHandler.java
   2009-04-15 14:53:29 UTC (rev 16581)
@@ -68,4 +68,11 @@
                return myBounded.getValue().toString();
        }
 
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
+
 }
\ No newline at end of file

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedFloatHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedFloatHandler.java
    2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedFloatHandler.java
    2009-04-15 14:53:29 UTC (rev 16581)
@@ -67,4 +67,10 @@
     public String getState() {
         return myBounded.getValue().toString();
     }
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedIntegerHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedIntegerHandler.java
  2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedIntegerHandler.java
  2009-04-15 14:53:29 UTC (rev 16581)
@@ -64,4 +64,10 @@
     public String getState() {
         return myBounded.getValue().toString();
     }
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedLongHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedLongHandler.java
     2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/BoundedLongHandler.java
     2009-04-15 14:53:29 UTC (rev 16581)
@@ -63,4 +63,11 @@
     public String getState() {
         return myBounded.getValue().toString();
     }
+
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/DoubleHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/DoubleHandler.java
  2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/DoubleHandler.java
  2009-04-15 14:53:29 UTC (rev 16581)
@@ -65,4 +65,10 @@
                }
                return s;
     }
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/FileHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/FileHandler.java
    2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/FileHandler.java
    2009-04-15 14:53:29 UTC (rev 16581)
@@ -72,4 +72,10 @@
                }
                return s;
     }
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/FloatHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/FloatHandler.java
   2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/FloatHandler.java
   2009-04-15 14:53:29 UTC (rev 16581)
@@ -63,4 +63,10 @@
                }
                return s;
     }
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/GuiTunableInterceptor.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/GuiTunableInterceptor.java
  2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/GuiTunableInterceptor.java
  2009-04-15 14:53:29 UTC (rev 16581)
@@ -3,6 +3,9 @@
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Component;
+import java.awt.Container;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -10,6 +13,8 @@
 
 import javax.swing.BorderFactory;
 import javax.swing.BoxLayout;
+import javax.swing.JButton;
+import javax.swing.JFrame;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.border.TitledBorder;
@@ -26,7 +31,11 @@
        private Map<List<Guihandler>,JPanel> panelMap;
        int n;
        JPanel r = new JPanel(new BorderLayout());
+       private JFrame frame = new JFrame("Set Parameters");
+       private JPanel panel = new JPanel();
        List<Guihandler> lh;
+       private boolean out;
+       Object[] objs;
 
        public GuiTunableInterceptor() {
                super( new GuiHandlerFactory<Guihandler>());
@@ -34,6 +43,7 @@
        }
 
        public boolean createUI(Object... objs) {
+               this.objs=objs;
                lh = new ArrayList<Guihandler>();
                for ( Object o : objs ) {
                        if ( !handlerMap.containsKey( o ) )
@@ -95,38 +105,24 @@
                }
 
                
-               // get the gui into the proper state
                for ( Guihandler h : lh ) 
                        h.notifyDependents();
-                       
-               //Custom button text
-               Object[] buttons = {"OK","Cancel"};
-               int n = JOptionPane.showOptionDialog(parent,
-                   panelMap.get(lh),
-                   "Set Parameters",
-                   JOptionPane.YES_NO_CANCEL_OPTION,
-                   JOptionPane.PLAIN_MESSAGE,
-                   null,
-                   buttons,
-                   buttons[0]);
 
                
-               if ( n == JOptionPane.OK_OPTION ){
-                       for ( Guihandler h : lh ){
-                               
-//                                      for(Object o : objs){
-//                                              Object[] interfaces = 
o.getClass().getInterfaces();
-//                                              for(int 
i=0;i<interfaces.length;i++){
-//                                                     
if(interfaces[i].equals(TunableValidator.class))((TunableValidator)o).validate(h.getName());
-//                                              }
-//                                      }
-                               if(h.getDependency()==null)h.handle();
-                               else h.notifyDependents();//h.handle();
-                       }
+               if(parent==null){
+                       displayOptionPanel();
+//                     preparePanel();displayPanel();
+                       return out;
+               }
+               else{
+                       int nbPanel = ((Container) 
parent).getComponentCount()-1;
+                       JPanel buttonBox = (JPanel) ((Container) 
parent).getComponent(nbPanel);
+                       ((JPanel)parent).remove(nbPanel);
+                       ((JPanel)parent).add(panelMap.get(lh));
+                       ((JPanel)parent).add(buttonBox);
+                       parent = null;
                        return true;
                }
-               else
-                       return false;
        }
 
        private JPanel createJPanel(String title, Guihandler gh,Param 
alignment) {
@@ -179,4 +175,82 @@
                
                return ret;
        }
+       
+       
+       private void preparePanel(){
+               JPanel tunapanel = panelMap.get(lh);
+               JPanel buttonpanel = new JPanel();
+               JButton okbutton= new JButton("OK");
+               okbutton.setActionCommand("ok");
+               JButton cancelbutton = new JButton("Cancel");
+               cancelbutton.setActionCommand("cancel");
+               okbutton.addActionListener(new myAction());
+               cancelbutton.addActionListener(new myAction());
+               buttonpanel.add(okbutton);
+               buttonpanel.add(cancelbutton);
+               panel.setLayout(new BoxLayout(panel,BoxLayout.PAGE_AXIS));
+               panel.add(tunapanel);
+               panel.add(buttonpanel);
+               frame.setContentPane(panel);
+               frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+               frame.setLocation(600, 500);
+       }
+       private void displayPanel(){
+               frame.setVisible(true);
+               frame.pack();
+       }
+       
+       private void displayOptionPanel(){
+               Object[] buttons = {"OK","Cancel"};
+               int n = JOptionPane.showOptionDialog(parent,
+                   panelMap.get(lh),
+                   "Set Parameters",
+                   JOptionPane.YES_NO_CANCEL_OPTION,
+                   JOptionPane.PLAIN_MESSAGE,
+                   null,
+                   buttons,
+                   buttons[0]);
+               if ( n == JOptionPane.OK_OPTION ){
+                       String valid = null;
+                       for ( Guihandler h : lh )h.handleDependents();
+                       for(Object o : objs){
+                                Object[] interfaces = 
o.getClass().getInterfaces();
+                                for(int i=0;i<interfaces.length;i++){
+                                       
if(interfaces[i].equals(TunableValidator.class))valid=((TunableValidator)o).validate();
+                                }
+                       }
+                       if(valid==null){
+                               out = true;
+                       }
+                       else{
+                               JOptionPane.showMessageDialog(new 
JFrame(),valid,"TunableValidator problem",JOptionPane.ERROR_MESSAGE);
+                               for(Guihandler h : lh)h.resetValue();
+                               displayOptionPanel();
+                       }
+               }
+               else out = false;
+       }
+       
+       
+       private class myAction implements ActionListener{
+               public void actionPerformed(ActionEvent ae){
+                       if(ae.getActionCommand().equals("ok")){
+                               String valid = null;
+                               for ( Guihandler h : lh )h.handleDependents();
+                               
+                               for(Object o : objs){
+                                        Object[] interfaces = 
o.getClass().getInterfaces();
+                                        for(int i=0;i<interfaces.length;i++){
+                                               
if(interfaces[i].equals(TunableValidator.class)) 
valid=((TunableValidator)o).validate();
+                                        }
+                               }
+                               if(valid==null){out = true;frame.dispose();}
+                               else{JOptionPane.showMessageDialog(new 
JFrame(),valid,"TunableValidator 
problem",JOptionPane.ERROR_MESSAGE);displayPanel();}
+                       }
+                       else if(ae.getActionCommand().equals("cancel")){
+                               out = false;
+                               frame.dispose();
+                       }
+               }
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/Guihandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/Guihandler.java
     2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/Guihandler.java
     2009-04-15 14:53:29 UTC (rev 16581)
@@ -17,4 +17,9 @@
 
        void checkDependency(String name, String state);
        String getDependency();
+       
+       void handleDependents();
+       
+       //added method to reset the value after handling to check the 
TunableValidator method
+       void resetValue();
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/InputStreamHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/InputStreamHandler.java
     2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/InputStreamHandler.java
     2009-04-15 14:53:29 UTC (rev 16581)
@@ -324,6 +324,12 @@
                        return this;
                }
        }
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
        
        
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/IntegerHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/IntegerHandler.java
 2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/IntegerHandler.java
 2009-04-15 14:53:29 UTC (rev 16581)
@@ -72,4 +72,10 @@
                }
                return s;
     }
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/ListMultipleHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/ListMultipleHandler.java
    2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/ListMultipleHandler.java
    2009-04-15 14:53:29 UTC (rev 16581)
@@ -80,4 +80,12 @@
                        return sel.toString();
        }
 
+
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
+
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/ListSingleHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/ListSingleHandler.java
      2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/ListSingleHandler.java
      2009-04-15 14:53:29 UTC (rev 16581)
@@ -65,4 +65,11 @@
                        return sel.toString();
        }
 
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
+
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/LongHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/LongHandler.java
    2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/LongHandler.java
    2009-04-15 14:53:29 UTC (rev 16581)
@@ -63,4 +63,10 @@
                }
                return s;
     }
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/StringHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/StringHandler.java
  2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/StringHandler.java
  2009-04-15 14:53:29 UTC (rev 16581)
@@ -58,4 +58,10 @@
                }
                return s;
        }
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/URLHandler.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/URLHandler.java
     2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/internal/gui/URLHandler.java
     2009-04-15 14:53:29 UTC (rev 16581)
@@ -180,6 +180,12 @@
                        return this;
                }
        } // MyCellRenderer
+
+       @Override
+       public void resetValue() {
+               // TODO Auto-generated method stub
+               
+       }
        
        
 }

Modified: 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/util/XorPanel.java
===================================================================
--- 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/util/XorPanel.java
       2009-04-15 02:45:27 UTC (rev 16580)
+++ 
csplugins/trunk/pasteur/mathieu/tunables2/src/main/java/org/cytoscape/work/util/XorPanel.java
       2009-04-15 14:53:29 UTC (rev 16581)
@@ -100,6 +100,7 @@
                public void handle() {}
                public String getState() {return null;}
                public void returnPanel() {}
+               public void resetValue() {};
                public void addHandlerListener(HandlerListener listener) {
                        // TODO Auto-generated method stub
                        


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to