package de.tud.kom.socom.web.client.events;
import com.google.gwt.event.shared.GwtEvent;
import com.google.gwt.user.client.ui.Widget;
import de.tud.kom.socom.web.client.eventhandler.FormSubmitEventHandler;
import de.tud.kom.socom.web.client.sharedmodels.SimpleEntry;
/** can be thrown by View-Elements when an upload of a file via a form element started
*
* @author jkonert
*
*/
public final class FormSubmitEvent extends GwtEvent<FormSubmitEventHandler> {
public static final Type<FormSubmitEventHandler> TYPE = new Type<FormSubmitEventHandler>();
private Widget sourceWidget;
private SimpleEntry<String, String>[] params;
public FormSubmitEvent(Widget sourceWidget)
{
this.sourceWidget = sourceWidget;
this.params = null;
}
public FormSubmitEvent(Widget sourceWidget, SimpleEntry<String, String>... sourceParams)
{
this.sourceWidget = sourceWidget;
this.params = sourceParams;
}
public final Widget getSourceWidget() {
return sourceWidget;
}
/** provides all key=value pairs set by event source to provide additional information with event
*
* @return
*/
public SimpleEntry<String, String>[] getSourceParameter() {
return params;
}
@Override
public Type<FormSubmitEventHandler> getAssociatedType() {
return TYPE;
}
@Override
protected void dispatch(FormSubmitEventHandler handler) {
handler.onFormSubmitEvent(this);
}
}