/*
* GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007
*/
package hudson.gwtmarketplace.client.components;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.TextBox;
public class ThreeTextBox extends Composite {
private TextBox tb1;
private TextBox tb2;
private TextBox tb3;
public ThreeTextBox() {
FlowPanel panel = new FlowPanel();
panel.add(this.tb1 = new TextBox());
panel.add(this.tb2 = new TextBox());
panel.add(this.tb3 = new TextBox());
this.tb1.addStyleName("field-short");
this.tb2.addStyleName("field-short");
this.tb3.addStyleName("field-short");
this.tb1.getElement().getStyle().setMarginRight(4, Unit.PX);
this.tb2.getElement().getStyle().setMarginRight(4, Unit.PX);
this.tb3.getElement().getStyle().setMarginRight(4, Unit.PX);
initWidget(panel);
}
public List<String> getValues() {
List<String> rtn = new ArrayList<String>();
addValue(tb1, rtn);
addValue(tb2, rtn);
addValue(tb3, rtn);
return rtn;
}
void addValues(List<String> rtn) {
addValue(tb1, rtn);
addValue(tb2, rtn);
addValue(tb3, rtn);
}
private void addValue(TextBox tb, List<String> rtn) {
if (null != tb.getValue() && tb.getValue().length() > 0)
rtn.add(tb.getValue());
}
public void setValues(String[] values) {
setValues(values, 0);
}
public void setValues(String[] values, int index) {
tb1.setValue(null);
tb2.setValue(null);
tb3.setValue(null);
if (null != values) {
for (int i=index; i<values.length; i++) {
if (i == index) tb1.setValue(values[i]);
else if (i == (index+1)) tb2.setValue(values[i]);
else if (i == (index+2)) tb3.setValue(values[i]);
else break;
}
}
}
}