Bladeren bron

Bundles the logging label into a widget (#13334)

Change-Id: I1c041c34dc4b08351122d0afc6de6fe2afadd48c
tags/7.4.0.beta1
Henrik Paul 9 jaren geleden
bovenliggende
commit
8515bc3bb1

+ 52
- 5
uitest/src/com/vaadin/tests/widgetset/client/grid/EscalatorBasicClientFeaturesWidget.java Bestand weergeven

@@ -3,7 +3,9 @@ package com.vaadin.tests.widgetset.client.grid;
import java.util.ArrayList;
import java.util.List;

import com.google.gwt.core.client.Duration;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.vaadin.client.ui.grid.Escalator;
import com.vaadin.client.ui.grid.EscalatorUpdater;
@@ -14,6 +16,50 @@ import com.vaadin.client.ui.grid.RowContainer;
public class EscalatorBasicClientFeaturesWidget extends
PureGWTTestApplication<Escalator> {

public static class LogWidget extends Composite {

private static final int MAX_LOG = 9;

private final HTML html = new HTML();
private final List<String> logs = new ArrayList<String>();
private Escalator escalator;

public LogWidget() {
initWidget(html);
getElement().setId("log");
}

public void setEscalator(Escalator escalator) {
this.escalator = escalator;
}

public void updateDebugLabel() {
int headers = escalator.getHeader().getRowCount();
int bodys = escalator.getBody().getRowCount();
int footers = escalator.getFooter().getRowCount();
int columns = escalator.getColumnConfiguration().getColumnCount();

while (logs.size() > MAX_LOG) {
logs.remove(0);
}

String logString = "<hr>";
for (String log : logs) {
logString += log + "<br>";
}

html.setHTML("Columns: " + columns + "<br>" + //
"Header rows: " + headers + "<br>" + //
"Body rows: " + bodys + "<br>" + //
"Footer rows: " + footers + "<br>" + //
logString);
}

public void log(String string) {
logs.add((Duration.currentTimeMillis() % 10000) + ": " + string);
}
}

private static final String COLUMNS_AND_ROWS_MENU = "Columns and Rows";
private static final String GENERAL_MENU = "General";
private static final String FEATURES_MENU = "Features";
@@ -163,22 +209,23 @@ public class EscalatorBasicClientFeaturesWidget extends
}
}

private final Escalator escalator;
protected final Escalator escalator;
private final Data data = new Data();
private final HTML debugLabel = new HTML();

private enum Colspan {
NONE, NORMAL, CRAZY;
}

private Colspan colspan = Colspan.NONE;
private final LogWidget logWidget = new LogWidget();

public EscalatorBasicClientFeaturesWidget() {
super(new EscalatorProxy());
escalator = getTestedWidget();
((EscalatorProxy) escalator).setDebugLabel(debugLabel);
addNorth(debugLabel, 200);
debugLabel.getElement().setId("log");
logWidget.setEscalator(escalator);

((EscalatorProxy) escalator).setLogWidget(logWidget);
addNorth(logWidget, 200);

final RowContainer header = escalator.getHeader();
header.setEscalatorUpdater(data.createHeaderUpdater());

+ 17
- 50
uitest/src/com/vaadin/tests/widgetset/client/grid/EscalatorProxy.java Bestand weergeven

@@ -15,18 +15,14 @@
*/
package com.vaadin.tests.widgetset.client.grid;

import java.util.ArrayList;
import java.util.List;

import com.google.gwt.core.client.Duration;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.TableRowElement;
import com.google.gwt.user.client.ui.HTML;
import com.vaadin.client.ui.grid.Cell;
import com.vaadin.client.ui.grid.ColumnConfiguration;
import com.vaadin.client.ui.grid.Escalator;
import com.vaadin.client.ui.grid.EscalatorUpdater;
import com.vaadin.client.ui.grid.RowContainer;
import com.vaadin.tests.widgetset.client.grid.EscalatorBasicClientFeaturesWidget.LogWidget;

public class EscalatorProxy extends Escalator {
private class ColumnConfigurationProxy implements ColumnConfiguration {
@@ -40,16 +36,16 @@ public class EscalatorProxy extends Escalator {
public void removeColumns(int index, int numberOfColumns)
throws IndexOutOfBoundsException, IllegalArgumentException {
columnConfiguration.removeColumns(index, numberOfColumns);
log("removeColumns " + index + ", " + numberOfColumns);
updateDebugLabel();
logWidget.log("removeColumns " + index + ", " + numberOfColumns);
logWidget.updateDebugLabel();
}

@Override
public void insertColumns(int index, int numberOfColumns)
throws IndexOutOfBoundsException, IllegalArgumentException {
columnConfiguration.insertColumns(index, numberOfColumns);
log("insertColumns " + index + ", " + numberOfColumns);
updateDebugLabel();
logWidget.log("insertColumns " + index + ", " + numberOfColumns);
logWidget.updateDebugLabel();
}

@Override
@@ -108,26 +104,26 @@ public class EscalatorProxy extends Escalator {
public void removeRows(int index, int numberOfRows)
throws IndexOutOfBoundsException, IllegalArgumentException {
rowContainer.removeRows(index, numberOfRows);
log(rowContainer.getClass().getSimpleName() + " removeRows "
+ index + ", " + numberOfRows);
updateDebugLabel();
logWidget.log(rowContainer.getClass().getSimpleName()
+ " removeRows " + index + ", " + numberOfRows);
logWidget.updateDebugLabel();
}

@Override
public void insertRows(int index, int numberOfRows)
throws IndexOutOfBoundsException, IllegalArgumentException {
rowContainer.insertRows(index, numberOfRows);
log(rowContainer.getClass().getSimpleName() + " insertRows "
+ index + ", " + numberOfRows);
updateDebugLabel();
logWidget.log(rowContainer.getClass().getSimpleName()
+ " insertRows " + index + ", " + numberOfRows);
logWidget.updateDebugLabel();
}

@Override
public void refreshRows(int index, int numberOfRows)
throws IndexOutOfBoundsException, IllegalArgumentException {
rowContainer.refreshRows(index, numberOfRows);
log(rowContainer.getClass().getSimpleName() + " refreshRows "
+ index + ", " + numberOfRows);
logWidget.log(rowContainer.getClass().getSimpleName()
+ " refreshRows " + index + ", " + numberOfRows);
}

@Override
@@ -163,14 +159,11 @@ public class EscalatorProxy extends Escalator {

}

private static final int MAX_LOG = 9;

private RowContainer headerProxy = null;
private RowContainer bodyProxy = null;
private RowContainer footerProxy = null;
private ColumnConfiguration columnProxy = null;
private HTML debugLabel;
private List<String> logs = new ArrayList<String>();
private LogWidget logWidget;

@Override
public RowContainer getHeader() {
@@ -205,35 +198,9 @@ public class EscalatorProxy extends Escalator {
return columnProxy;
}

public void setDebugLabel(HTML debugLabel) {
this.debugLabel = debugLabel;
updateDebugLabel();
}

public void updateDebugLabel() {
int headers = super.getHeader().getRowCount();
int bodys = super.getBody().getRowCount();
int footers = super.getFooter().getRowCount();
int columns = super.getColumnConfiguration().getColumnCount();

while (logs.size() > MAX_LOG) {
logs.remove(0);
}

String logString = "<hr>";
for (String log : logs) {
logString += log + "<br>";
}

debugLabel.setHTML( //
"Columns: " + columns + "<br>" + //
"Header rows: " + headers + "<br>" + //
"Body rows: " + bodys + "<br>" + //
"Footer rows: " + footers + "<br>" + //
logString);
public void setLogWidget(LogWidget logWidget) {
this.logWidget = logWidget;
logWidget.updateDebugLabel();
}

public void log(String string) {
logs.add((Duration.currentTimeMillis() % 10000) + ": " + string);
}
}

Laden…
Annuleren
Opslaan