package gve.calc.formula;
import java.awt.event.*;
import awt.*;
import java.awt.*;
import awt.Button;
public class LoadRules implements ActionListener {
private static String [] rulesets = {"propc","propcc","predc"};
private FormulaView fview;
private LoadRules(FormulaView view) {
fview = view;
}
public static void addLoadButtons(Container cont,FormulaView fview) {
for (int i = 0; i < rulesets.length; i++) {
Button b;
cont.add(b = new Button("Load "+rulesets[i]));
LoadRules listener = new LoadRules(fview);
b.addActionListener(listener);
}
}
public static MenuButton createLoadButton(Component comp,boolean direction,FormulaView fview) {
MenuButton result = new MenuButton("Rules",comp,direction);
addLoadButtons(result.popup,fview);
result.pack();
return result;
}
public void actionPerformed(ActionEvent evt) {
String filename = evt.getActionCommand().substring(5);
Part p = fview.load(filename);
if (p == null) {
return;
}
Part rules = (Part)fview.getVar("rules");
if (rules == null) rules = p;
else {
rules = new OperatorUnion(rules,p).evaluate(new SingleEvaluator());
}
fview.storeVar("rules",rules);
}
}