View Javadoc

1   package org.kuali.student.common.ui.client.widgets.table.scroll;
2   
3   import org.kuali.student.common.ui.client.util.BrowserUtils;
4   
5   import com.google.gwt.user.client.DOM;
6   import com.google.gwt.user.client.Element;
7   import com.google.gwt.user.client.Event;
8   import com.google.gwt.user.client.ui.FlexTable;
9   
10  public class MouseHoverFlexTable extends FlexTable {
11      private TableModel tableModel;
12      public MouseHoverFlexTable(){
13          sinkEvents(Event.ONMOUSEOVER |Event.ONMOUSEOUT);
14          
15      }
16      public void setModel(TableModel tableModel){
17          this.tableModel = tableModel;
18      }
19      
20      public void onBrowserEvent(Event event) {
21          super.onBrowserEvent(event);
22          Element td = getEventTargetCell(event);
23          String attrName = BrowserUtils.getClassAttr();
24          if (td == null)
25              return;
26         
27          switch (DOM.eventGetType(event)) {
28              case Event.ONMOUSEOVER: {
29                  Element tr = DOM.getParent(td);
30                  tr.setAttribute(attrName, "table-row-hover");
31  
32                  break;
33              }
34              case Event.ONMOUSEOUT: {
35                  int count = tableModel.getRowCount();
36                  for (int r = 0; r < count; r++) {
37                      Element tr = getRowFormatter().getElement(r);
38                      if (tableModel.getRow(r).isSelected()) {
39                      	tr.setAttribute(attrName, "table-row-selected");
40                      }else{
41                      	tr.setAttribute(attrName, "table-row");
42                      }
43                  }
44                  break;
45              }
46  
47          }
48  
49      }
50  
51  }