Browse Source

Table: optimizing one extra cache build on container change

svn changeset:5182/svn branch:trunk
tags/6.7.0.beta1
Matti Tahvonen 16 years ago
parent
commit
0973197b82
1 changed files with 12 additions and 4 deletions
  1. 12
    4
      src/com/itmill/toolkit/ui/Table.java

+ 12
- 4
src/com/itmill/toolkit/ui/Table.java View File

@@ -398,7 +398,7 @@ public class Table extends AbstractSelect implements Action.Container,

// Removes alignments, icons and headers from hidden columns
if (this.visibleColumns != null) {
disableContentRefreshing();
boolean disabledHere = disableContentRefreshing();
try {
for (final Iterator i = this.visibleColumns.iterator(); i
.hasNext();) {
@@ -410,7 +410,9 @@ public class Table extends AbstractSelect implements Action.Container,
}
}
} finally {
enableContentRefreshing(false);
if (disabledHere) {
enableContentRefreshing(false);
}
}
}

@@ -1495,6 +1497,8 @@ public class Table extends AbstractSelect implements Action.Container,
*/
public void setContainerDataSource(Container newDataSource) {

disableContentRefreshing();

if (newDataSource == null) {
newDataSource = new IndexedContainer();
}
@@ -1538,7 +1542,8 @@ public class Table extends AbstractSelect implements Action.Container,

// Assure visual refresh
resetPageBuffer();
refreshRenderedCells();
enableContentRefreshing(true);

}

/* Component basics ***************************************************** */
@@ -1690,9 +1695,12 @@ public class Table extends AbstractSelect implements Action.Container,
* bypass expensive content for some reason (like when we know we may have
* other content changes on their way).
*
* @return true if content refresh flag was enabled prior this call
*/
protected void disableContentRefreshing() {
protected boolean disableContentRefreshing() {
boolean wasDisabled = isContentRefreshesEnabled;
isContentRefreshesEnabled = false;
return wasDisabled;
}

/**

Loading…
Cancel
Save