package com.giftoftheembalmer.gotefarm.client;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import java.util.List;
public class EventTemplates extends Composite {
Admin admin;
VerticalPanel vpanel = new VerticalPanel();
ListBox eventlb = new ListBox();
List<JSEventTemplate> event_templates;
public EventTemplates(Admin admin) {
this.admin = admin;
eventlb.setWidth("100%");
eventlb.setVisibleItemCount(20);
eventlb.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent event) {
int sel = eventlb.getSelectedIndex();
if (sel < 0) return;
String name = eventlb.getItemText(sel);
for (JSEventTemplate e : event_templates) {
if (e.name.equals(name)) {
EventTemplates.this.admin.setCenterWidget(new EventEditor(EventTemplates.this.admin, e));
return;
}
}
// TODO: display not-found error
EventTemplates.this.admin.setCenterWidget(null);
}
});
vpanel.add(eventlb);
vpanel.add(new Button("New Event", new ClickHandler() {
public void onClick(ClickEvent event) {
eventlb.setSelectedIndex(-1);
EventTemplates.this.admin.setCenterWidget(new EventEditor(EventTemplates.this.admin));
}
}));
initWidget(vpanel);
setStyleName("Admin-EventTemplates");
}
public void setEventTemplates(List<JSEventTemplate> events) {
event_templates = events;
eventlb.clear();
for (JSEventTemplate e : events) {
eventlb.addItem(e.name);
}
}
}