package uva.qls.ast.component;
import java.util.ArrayList;
import java.util.Arrays;
import uva.qls.ast.CodeLines;
import uva.qls.ast.statements.visitor.StatementVisitor;
import uva.qls.ast.style.visitor.StyleTable;
import uva.qls.ast.value.StringValue;
import uva.qls.supporting.*;
public class Dropdown extends Component{
private Tuple<String, String> values;
private StyleTable style;
public Dropdown(String _valOne, String _valSec, StyleTable _style, CodeLines _codeLines) {
super(_codeLines);
this.values = new Tuple<String, String>(_valOne.replaceAll("[\"]", ""), _valSec.replaceAll("[\"]", ""));
this.style = _style;
}
public ArrayList<String> getComponents(){
return new ArrayList<>(Arrays.asList(this.getNullValue().getValue(), this.values.getTuple().getX(), this.values.getTuple().getY()));
}
public StringValue getNullValue(){
return new StringValue("");
}
@Override
public <T> T accept(StatementVisitor<T> visitor) {
return visitor.visitDropDown(this);
}
@Override
public void componentStyle(StyleTable style) {
this.style = style;
}
@Override
public StyleTable getStyle() {
return this.style;
}
@Override
public String toString(){
return "Dropdown(" + this.values.toString() + " " + this.style + ")";
}
@Override
public String getName() {
return this.getClass().getSimpleName().toLowerCase();
}
}