package pipe.actions.gui;
import pipe.controllers.PlaceController;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.util.HashMap;
import java.util.Map;
/**
* Deletes the token from the place
*/
public class DeleteTokenAction extends TokenAction {
/**
* Constructor
* @param applicationModel main PIPE application model
*/
public DeleteTokenAction(PipeApplicationModel applicationModel) {
super("Delete token", "Delete a token (alt-D)", KeyEvent.VK_D, InputEvent.ALT_DOWN_MASK, applicationModel);
}
/**
* On performing this action a token of the specified id is decremented from the place that has been clicked on
*
* @param placeController controller for the clicked on place
* @param token token id for the token that is to be decremented
*/
@Override
protected void performTokenAction(PlaceController placeController, String token) {
Map<String, Integer> tokenCount = new HashMap<>();
tokenCount.put(token, placeController.getTokenCount(token) - 1);
setTokenCounts(placeController, tokenCount);
}
}