blob: a5c8a0e8b45ffe92d9f09bd146c09da84c6bf71a [file] [log] [blame]
package autotest.common.ui;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Panel;
public class TableSelectionPanel extends Composite implements ClickHandler {
public static interface SelectionPanelListener {
public void onSelectAll(boolean visibleOnly);
public void onSelectNone();
}
private SelectionPanelListener listener;
private Anchor selectAll = new Anchor("all");
private Anchor selectVisible;
private Anchor selectNone = new Anchor("none");
public TableSelectionPanel(boolean wantSelectVisible) {
selectAll.addClickHandler(this);
selectNone.addClickHandler(this);
Panel selectPanel = new HorizontalPanel();
selectPanel.add(new HTML("Select: "));
selectPanel.add(selectAll);
selectPanel.add(new HTML(", "));
if (wantSelectVisible) {
selectVisible = new Anchor("visible");
selectVisible.addClickHandler(this);
selectPanel.add(selectVisible);
selectPanel.add(new HTML(", "));
}
selectPanel.add(selectNone);
selectPanel.add(new HTML(" "));
initWidget(selectPanel);
}
public void setListener(SelectionPanelListener listener) {
this.listener = listener;
}
public void onClick(ClickEvent event) {
if (event.getSource() == selectAll) {
listener.onSelectAll(false);
} else if (event.getSource() == selectVisible) {
listener.onSelectAll(true);
} else {
assert event.getSource() == selectNone;
listener.onSelectNone();
}
}
}