LinkSetFilter.java revision 79a7b0d387aac103fc1d125353eefa361030452a
1package autotest.common.table; 2 3import com.google.gwt.event.logical.shared.SelectionEvent; 4import com.google.gwt.event.logical.shared.SelectionHandler; 5import com.google.gwt.user.client.ui.TabBar; 6import com.google.gwt.user.client.ui.Widget; 7 8public abstract class LinkSetFilter extends Filter implements SelectionHandler<Integer> { 9 protected TabBar linkBar = new TabBar(); 10 protected boolean enableNotification = true; 11 12 public LinkSetFilter() { 13 linkBar.setStyleName("job-filter-links"); 14 linkBar.addSelectionHandler(this); 15 } 16 17 public void addLink(String text) { 18 linkBar.addTab(text); 19 } 20 21 @Override 22 public Widget getWidget() { 23 return linkBar; 24 } 25 26 public int getSelectedLink() { 27 return linkBar.getSelectedTab(); 28 } 29 30 public void setSelectedLink(int link) { 31 if (link != linkBar.getSelectedTab()) { 32 enableNotification = false; 33 linkBar.selectTab(link); 34 enableNotification = true; 35 } 36 } 37 38 @Override 39 public void onSelection(SelectionEvent<Integer> event) { 40 if (enableNotification) 41 notifyListeners(); 42 } 43} 44