import java.awt.event.*; import java.util.*; import javax.swing.*; //created on: Wed Sep 22 15:08:01 CDT 2004 class ActionList implements ActionListener{ public static void setGui(){ //set the right values (and enabled/disabled) to the buttons and checkboxes Iterator it = variable.Vtable.values().iterator(); while ( it.hasNext() ) { variable v = ( variable ) it.next(); if (v.widget != null && v.hidden == false){ if (JToggleButton.class.isInstance(v.widget)){ JToggleButton ab = (JToggleButton)(v.widget); if (v.value == variable.T) ab.setSelected(true); else ab.setSelected(false);//means we're either false or unknown here if (v.userSet == false && v.value != variable.U) // not set by user, value is known ab.setEnabled(false); else ab.setEnabled(true); } else if (JPanel.class.isInstance(v.widget)){ JPanel ab = (JPanel)(v.widget); if (v.userSet == false) // not user set, set by system ab.setEnabled(false); else ab.setEnabled(true); } } } } public void actionPerformed(ActionEvent e){ //something from the buttons and checkboxes has been changed grammar.UserSelections.clear();//empty the list Iterator i = Gui.visibleObjects.keySet().iterator(); while ( i.hasNext() ){ AbstractButton w = (AbstractButton)i.next(); if (w.isSelected() && w.isEnabled()) grammar.UserSelections.add(Gui.visibleObjects.get(w)); //add the selected variable to user selections list } grammar.propagate(); setGui(); } }