package com.iambookmaster.client.iphone.urq;
import java.util.Vector;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Label;
import com.iambookmaster.client.iphone.IPhoneCanvas;
import com.iambookmaster.client.iphone.IPhoneViewListenerAdapter;
import com.iambookmaster.client.iphone.common.IPhoneButton;
import com.iambookmaster.client.iphone.common.IPhoneFlatButton;
import com.iambookmaster.client.iphone.images.IPhoneImages;
import com.iambookmaster.client.iphone.images.IPhoneStyles;
import com.iambookmaster.client.iurq.Core;
import com.iambookmaster.client.iurq.logic.InvVar.Action;
public class IPhoneURQActions extends IPhoneViewListenerAdapter {
static final IPhoneStyles css = IPhoneImages.INSTANCE.css();
private IPhoneURQInventoryListener listener;
private IPhoneCanvas canvas;
private Core core;
private Vector<Action> actions;
private String actionName;
private ClickHandler backHandler;
public IPhoneURQActions(IPhoneURQInventoryListener lst) {
listener = lst;
backHandler = new ClickHandler() {
public void onClick(ClickEvent event) {
listener.back();
}
};
}
public void show(IPhoneCanvas canvas,Core core,String actionName,Vector<Action> actions) {
this.canvas = canvas;
this.core = core;
this.actions = actions;
this.actionName = actionName;
canvas.setListener(this);
redraw(canvas);
}
public void redraw(IPhoneCanvas canvas) {
canvas.clear();
Label label = new Label(actionName);
label.setStyleName(css.urqScreenTitle());
canvas.add(label);
for (Action action : actions) {
ClickHandler handler = new ActionClickHandler(action);
IPhoneFlatButton button = new IPhoneFlatButton(action.getLocName().substring(actionName.length()+5));
canvas.add(button);
canvas.addClickHandler(button, handler);
}
IPhoneButton button = new IPhoneButton("Назад");
canvas.addClickHandler(button, backHandler);
canvas.add(button);
canvas.done();
}
public void back() {
listener.back();
}
public void forward() {
listener.forward();
}
public void drawn() {
}
public class ActionClickHandler implements ClickHandler {
private Action action;
public ActionClickHandler(Action action) {
this.action = action;
}
public void onClick(ClickEvent event) {
listener.doAction(action);
}
}
}