package com.drakulo.games.ais.ui.component;
import org.newdawn.slick.Color;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.geom.Rectangle;
import com.drakulo.games.ais.core.Settings;
import com.drakulo.games.ais.ui.component.button.TextButton;
public class Confirm extends UIComponent {
private static final int WIDTH = 250;
/** The confirm message */
// private String message;
/** Cancel button */
private TextButton cancelButton;
/** OK button */
private TextButton okButton;
/** Confirm box layout */
private Rectangle box;
/** Confirmation result */
protected Boolean confirmed;
public Confirm(String message) {
// this.message = message;
this.cancelButton = new TextButton("Cancel");
this.okButton = new TextButton("OK");
this.confirmed = null;
int height = 100;
int x = Settings.WIDTH / 2 - WIDTH / 2;
int y = 100;
this.box = new Rectangle(x, y, WIDTH, height);
this.cancelButton.setActionHandler(new ActionHandler() {
@Override
public void run() {
Confirm.this.confirmed = Boolean.FALSE;
}
});
this.okButton.setActionHandler(new ActionHandler() {
@Override
public void run() {
Confirm.this.confirmed = Boolean.TRUE;
}
});
}
@Override
public void render(Graphics g) throws SlickException {
g.setColor(Color.lightGray);
g.fill(this.box);
g.setColor(Color.gray);
g.draw(this.box);
}
@Override
public void update(Input input) throws SlickException {
this.okButton.update(input);
this.cancelButton.update(input);
}
public Boolean confirmed() {
return this.confirmed;
}
public void setText(String message) {
// this.message = message;
// TODO handle line wrap
}
}