// Copyright 1996, Marimba Inc. All Rights Reserved.


// Confidential and Proprietary Information of Marimba, Inc.


// @(#)KeyboardCommand.java, 1.9, 12/15/96





package marimba.text.keymap;





import marimba.util.*;


import marimba.gui.Widget;


import java.awt.Event;





/**


 * This class represents a terminal node in a keymap: a command.  Every


 * command has a name and a number.


 *


 * @author	Jonathan Payne


 * @version 1.9, 12/15/96


 */


public class KeyboardCommand extends KeymapItem {


    /** Command name. */


    String name;





    /** Unique number. */


    int code;





    public KeyboardCommand(String name, int code) {


	this.name = name;


	this.code = code;


    }





    public String getName() {


	return name;


    }





    public int getCode() {


	return code;


    }





    public int hashCode() {


	return name.hashCode();


    }





    public boolean execute(Widget target, Event event) {


	Event e = new Event(event.target, Event.ACTION_EVENT, this);


	e.key = event.key;


	return target.postEvent(e);


    }





    public String toString() {


	return getClass().getName() + "[" + name + ", code = " + code + "]";


    }


}


