# HG changeset patch # User Sebastian Kruse # Date 1355155379 -3600 # Node ID cde4a01e9fa8144e9882f2c7feb1c4426469c465 # Parent 5d401f5c64332a3957f53b0e6fdc3e6921ef9d76 mouse events (over/out/click) for table rows diff -r 5d401f5c6433 -r cde4a01e9fa8 src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java --- a/src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java Mon Dec 10 17:02:15 2012 +0100 +++ b/src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java Mon Dec 10 17:02:59 2012 +0100 @@ -17,6 +17,8 @@ import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HasHorizontalAlignment; import com.google.gwt.user.client.ui.TextBox; +import com.google.gwt.view.client.CellPreviewEvent; +import com.google.gwt.view.client.CellPreviewEvent.Handler; import com.google.gwt.view.client.ListDataProvider; import com.google.gwt.view.client.Range; import com.google.gwt.core.client.GWT; @@ -301,6 +303,52 @@ dataProvider.setList(this.actualObjectSet); + this.elementsTable.addCellPreviewHandler(new Handler() + { + //@Override + public void onCellPreview( + CellPreviewEvent event) + { + boolean wasChanged = false; + + if ("mouseover".equals(event.getNativeEvent().getType())) { + DataObject hoveredObject = event.getValue(); + + if (!hoveredObject.getHover()){ + hoveredObject.setHover(true); + + wasChanged = true; + } + } + else if ("mouseout".equals(event.getNativeEvent().getType())) { + DataObject hoveredObject = event.getValue(); + + if (hoveredObject.getHover()){ + hoveredObject.setHover(false); + + wasChanged = true; + } + } + else if ("click".equals(event.getNativeEvent().getType())) { + DataObject clickedObject = event.getValue(); + + if (clickedObject.getPercentage() > 0){ + clickedObject.setPercentage(0); + + } else { + clickedObject.setPercentage(1); + } + + wasChanged = true; + } + + if (wasChanged) { + updateView(true); + core.updateTimeAndMap(); + } + } + }); + this.setWidget(1, 0, this.elementsTable); Grid tableControls = new Grid(1,5);