| 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(); |
| } |
| } |
| } |