1 package rero.bridges.menu; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 import java.util.*; 7 8 import javax.swing.*; 9 import javax.swing.event.*; 10 11 import sleep.runtime.*; 12 import sleep.engine.*; 13 14 import rero.script.*; 15 16 public class ScriptedItem extends JMenuItem implements ActionListener 17 { 18 protected ScriptInstance owner; 19 protected Block code; 20 21 public ScriptedItem(ScriptInstance _owner, String _label, Block _code) 22 { 23 if (_label.indexOf('&') > -1) 24 { 25 setText( _label.substring(0, _label.indexOf('&')) + _label.substring(_label.indexOf('&') + 1, _label.length()) ); 26 setMnemonic(_label.charAt(_label.indexOf('&') + 1)); 27 } 28 else 29 { 30 setText(_label); 31 } 32 33 owner = _owner; 34 code = _code; 35 36 addActionListener(this); 37 } 38 39 public void actionPerformed(ActionEvent e) 40 { 41 HashMap locals = ScriptedPopupMenu.getMenuData(); 42 43 if (locals == null) 44 { 45 locals = new HashMap(); 46 } 47 locals.put("$command", e.getActionCommand()); 48 49 ScriptCore.runCode(owner, code, locals); 50 } 51 } 52 | Popular Tags |