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 }