Browse Source

even/row classnames now stable + bit cleaner implementation

svn changeset:14641/svn branch:6.4
tags/6.7.0.beta1
Matti Tahvonen 13 years ago
parent
commit
e211b5c78b
1 changed files with 23 additions and 20 deletions
  1. 23
    20
      src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java

+ 23
- 20
src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java View File

@@ -175,7 +175,7 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
/**
* Represents a select range of rows
*/
private class SelectionRange {
private static class SelectionRange {
/**
* The starting key of the range
*/
@@ -3279,15 +3279,7 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
}

private void addRowBeforeFirstRendered(VScrollTableRow row) {
VScrollTableRow first = null;
if (renderedRows.size() > 0) {
first = (VScrollTableRow) renderedRows.get(0);
}
if (first != null && first.getStyleName().indexOf("-odd") == -1) {
row.addStyleName(CLASSNAME + "-row-odd");
} else {
row.addStyleName(CLASSNAME + "-row");
}
row.setIndex(firstRendered - 1);
if (row.isSelected()) {
row.addStyleName("v-selected");
}
@@ -3295,19 +3287,11 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
tBodyElement.getFirstChild());
adopt(row);
renderedRows.add(0, row);
int i = firstRendered;
}

private void addRow(VScrollTableRow row) {
VScrollTableRow last = null;
if (renderedRows.size() > 0) {
last = (VScrollTableRow) renderedRows
.get(renderedRows.size() - 1);
}
if (last != null && last.getStyleName().indexOf("-odd") == -1) {
row.addStyleName(CLASSNAME + "-row-odd");
} else {
row.addStyleName(CLASSNAME + "-row");
}
row.setIndex(firstRendered + renderedRows.size());
if (row.isSelected()) {
row.addStyleName("v-selected");
}
@@ -3562,6 +3546,9 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
private String[] actionKeys = null;
private final TableRowElement rowElement;
private boolean mDown;
private static final String ROW_CLASSNAME_EVEN = CLASSNAME + "-row";
private static final String ROW_CLASSNAME_ODD = CLASSNAME
+ "-row-odd";

private VScrollTableRow(int rowKey) {
this.rowKey = rowKey;
@@ -3572,6 +3559,22 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
| Event.ONKEYDOWN);
}

/**
* Sets the index of the row in the whole table. Currently used just
* to set even/odd classname
*
* @param indexInWholeTable
*/
private void setIndex(int indexInWholeTable) {
boolean isOdd = indexInWholeTable % 2 == 0;
if (isOdd) {
addStyleName(ROW_CLASSNAME_ODD);
} else {
addStyleName(ROW_CLASSNAME_EVEN);
}

}

private void paintComponent(Paintable p, UIDL uidl) {
if (isAttached()) {
p.updateFromUIDL(uidl, client);

Loading…
Cancel
Save