package org.uva.sea.ql.gui.widget;
import java.util.Observable;
import javax.swing.JComponent;
import org.uva.sea.ql.ast.Identifier;
import org.uva.sea.ql.evaluate.Value;
import org.uva.sea.ql.gui.questionaire.State;
public abstract class Widget extends Observable {
private final Identifier identifier;
private final State state;
public Widget(Identifier identifier, State state) {
this.identifier = identifier;
this.state = state;
}
public abstract JComponent UIElement();
public abstract void setEnabled(boolean isEnabled);
public abstract void setValue(Value value);
public Value getValue(Identifier id){
return state.getEnvironment().getValue(id);
}
public State getState(){
return state;
}
public Identifier getIdentifier(){
return identifier;
}
}