001 package nl.cwi.sen1.util;
002
003 import java.awt.event.ActionEvent;
004
005 import javax.swing.AbstractAction;
006
007 import nl.cwi.sen1.configapi.Factory;
008 import nl.cwi.sen1.configapi.types.Event;
009 import toolbus.AbstractTool;
010 import aterm.ATerm;
011 import aterm.pure.PureFactory;
012
013 public class MenuAction extends AbstractAction {
014 private final Factory factory;
015 private final ATerm id;
016 private final AbstractTool bridge;
017 private final Event event;
018
019 public MenuAction(ATerm id, AbstractTool bridge, Event event) {
020 super(event.toTerm().toString());
021 this.factory = Factory.getInstance((PureFactory) id.getFactory());
022 this.bridge = bridge;
023 this.id = id;
024 this.event = event;
025 }
026
027 public void actionPerformed(ActionEvent e) {
028 ATerm event = factory.getPureFactory().make(
029 "menu-event(<term>,<term>)", id, this.event.toTerm());
030 bridge.postEvent(event);
031 }
032 }