package com.pixelmaid.dresscode.antlr.types.tree;
import java.util.ArrayList;
import java.util.Iterator;
import com.pixelmaid.dresscode.app.ui.usercreated.UserUI;
import com.pixelmaid.dresscode.drawing.primitive2d.Drawable;
import com.pixelmaid.dresscode.events.CustomEventListener;
import com.pixelmaid.dresscode.events.EventInterface;
public class NodeEvent implements EventInterface{
protected String error;
private ArrayList<CustomEventListener> _listeners = new ArrayList<CustomEventListener>();
public NodeEvent(){
error = "default error";
}
protected String getError() {
return this.error;
}
public synchronized void fireEvent(int eventType) {
Iterator<CustomEventListener> i = _listeners.iterator();
while(i.hasNext()) {
((CustomEventListener) i.next()).handleCustomInstructionEvent(this, eventType);
}
}
public void fireDrawableEvent(int event, Drawable d) {
Iterator<CustomEventListener> i = _listeners.iterator();
while(i.hasNext()) {
((CustomEventListener) i.next()).handleCustomDrawableEvent(this, event, d);
}
}
public void fireUIEvent(int event, UserUI d) {
Iterator<CustomEventListener> i = _listeners.iterator();
while(i.hasNext()) {
((CustomEventListener) i.next()).handleCustomUINodeEvent(this, event, d);
}
}
public void fireDrawableEvent(int event, Drawable d1,Drawable d2) {
Iterator<CustomEventListener> i = _listeners.iterator();
while(i.hasNext()) {
((CustomEventListener) i.next()).handleCustomDrawableEvent(this, event, d1,d2);
}
}
public void fireToolEvent(int event) {
Iterator<CustomEventListener> i = _listeners.iterator();
while(i.hasNext()) {
((CustomEventListener) i.next()).handleCustomToolEvent(this, event);
}
}
public void firePrintEvent(int event, String value) {
Iterator<CustomEventListener> i = _listeners.iterator();
while(i.hasNext()) {
((CustomEventListener) i.next()).handleCustomPrintEvent(this, event, value);
}
}
public void fireRuntimeErrorEvent(int event, String message) {
Iterator<CustomEventListener> i = _listeners.iterator();
while(i.hasNext()) {
((CustomEventListener) i.next()).handleCustomRuntimeErrorEventDrawableEvent(this, event, message);
}
}
@Override
public synchronized void addEventListener(CustomEventListener listener) {
_listeners.add(listener);
}
@Override
public synchronized CustomEventListener getListenerAt(int index) {
return (CustomEventListener) _listeners.get(index);
}
@Override
public synchronized void removeEventListener(CustomEventListener listener) {
_listeners.remove(listener);
}
}