# HG changeset patch # User Sebastian Kruse # Date 1354903022 -3600 # Node ID fc9061488e75cea37541c77bca02c9f9dff17ba7 # Parent fad6fb60a2dbe79e4178754c3ffe4752996c64cb background and border color of CellTable for selection and hover diff -r fad6fb60a2db -r fc9061488e75 src/econnect/wp3_3/client/core/DataObject.java --- a/src/econnect/wp3_3/client/core/DataObject.java Fri Dec 07 16:04:27 2012 +0100 +++ b/src/econnect/wp3_3/client/core/DataObject.java Fri Dec 07 18:57:02 2012 +0100 @@ -135,6 +135,15 @@ this.setHover(hover); }-*/; + /** + * Getter for the hover status of the DataObject + * + * @param hover boolean value is true, if the object is hovered + */ + public final native boolean getHover() /*-{ + return (this.hoverSelect == true); + }-*/; + /** * Setter for the selection of the DataObject * diff -r fad6fb60a2db -r fc9061488e75 src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java --- a/src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java Fri Dec 07 16:04:27 2012 +0100 +++ b/src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java Fri Dec 07 18:57:02 2012 +0100 @@ -18,7 +18,11 @@ import com.google.gwt.user.client.ui.HasHorizontalAlignment; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.view.client.ListDataProvider; +import com.google.gwt.view.client.Range; import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.NodeList; +import com.google.gwt.dom.client.Style.BorderStyle; +import com.google.gwt.dom.client.TableCellElement; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.MouseOutEvent; @@ -335,9 +339,12 @@ //if the dataProvider already exists, refresh the //displayed data if (this.dataProvider != null) { + + //refresh data this.dataProvider.refresh(); - this.elementsTable.setRowCount(this.actualObjectSet.size()); + + this.updateView(false); } if (dataSetWasEmpty) @@ -429,7 +436,7 @@ currentDataObject.setPercentage(0); } - setActualObjectSet(); + updateView(false); } /** @@ -442,15 +449,37 @@ showSelected.removeStyleName("selectedView"); this.viewAll = 0; } - /* - for( int i=0; i= dataProvider.getList().size()) + break; + + DataObject object = dataProvider.getList().get(start+i); + + boolean selected = object.isSelected(); + if (hover) + selected = object.getHover(); + + double percentage = (new Double(object.getPercentage()).doubleValue()); + String borderColor = StiCore.getBorderColor(this.index,selected); + String cellColor = StiCore.getCellColor(this.index,percentage); + + //TODO: das RowElement ist ein TR. Das hat kein Border, weswegen es + //auch keine Farbe bekommt. Erst einmal allen sub-Elementen die + //border-Color geben. Das sollte verbessert werden. + + NodeList cells = this.elementsTable.getRowElement(i).getCells(); + + for (int cellIndex=0; cellIndex < cells.getLength(); cellIndex++){ + cells.getItem(cellIndex).getStyle().setBorderColor(borderColor); } - } - */ + + this.elementsTable.getRowElement(i).getStyle().setBorderColor(borderColor); + this.elementsTable.getRowElement(i).getStyle().setBackgroundColor(cellColor); + } } public String getTermIdentifier() {