You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by rw...@apache.org on 2017/12/22 19:57:08 UTC
svn commit: r1819086 - in
/pivot/trunk/demos/src/org/apache/pivot/demos/million: LargeData.java
large_data.bxml
Author: rwhitcomb
Date: Fri Dec 22 19:57:08 2017
New Revision: 1819086
URL: http://svn.apache.org/viewvc?rev=1819086&view=rev
Log:
PIVOT-999: Explore more ways to use lambdas for callback functions:
* Update the "LargeData" example to use lambdas for callbacks.
* Do some direct repaints in the callbacks as status indications.
* Add a "Clear" button to make the UI a bit more friendly.
* Add a NumberRuler to the table view to emphasize the data set sizes.
Modified:
pivot/trunk/demos/src/org/apache/pivot/demos/million/LargeData.java
pivot/trunk/demos/src/org/apache/pivot/demos/million/large_data.bxml
Modified: pivot/trunk/demos/src/org/apache/pivot/demos/million/LargeData.java
URL: http://svn.apache.org/viewvc/pivot/trunk/demos/src/org/apache/pivot/demos/million/LargeData.java?rev=1819086&r1=1819085&r2=1819086&view=diff
==============================================================================
--- pivot/trunk/demos/src/org/apache/pivot/demos/million/LargeData.java (original)
+++ pivot/trunk/demos/src/org/apache/pivot/demos/million/LargeData.java Fri Dec 22 19:57:08 2017
@@ -50,8 +50,7 @@ import org.apache.pivot.wtk.Window;
import org.apache.pivot.wtk.content.TableViewRowComparator;
public class LargeData extends Application.Adapter {
- private static String USER_HOME; // useful for local tests as Java
- // Application
+ private static String USER_HOME; // useful for local tests as Java Application
URL origin = null;
@@ -124,6 +123,9 @@ public class LargeData extends Applicati
for (Object item : page) {
tableData.add(item);
}
+ String msg = "Read " + tableData.getLength() + " rows...";
+ statusLabel.setText(msg);
+ statusLabel.repaint(true);
}
}
@@ -133,6 +135,7 @@ public class LargeData extends Applicati
private ListButton fileListButton = null;
private PushButton loadDataButton = null;
private PushButton cancelButton = null;
+ private PushButton clearButton = null;
private Label statusLabel = null;
private TableView tableView = null;
@@ -163,6 +166,7 @@ public class LargeData extends Applicati
fileListButton = (ListButton) bxmlSerializer.getNamespace().get("fileListButton");
loadDataButton = (PushButton) bxmlSerializer.getNamespace().get("loadDataButton");
cancelButton = (PushButton) bxmlSerializer.getNamespace().get("cancelButton");
+ clearButton = (PushButton) bxmlSerializer.getNamespace().get("clearButton");
statusLabel = (Label) bxmlSerializer.getNamespace().get("statusLabel");
tableView = (TableView) bxmlSerializer.getNamespace().get("tableView");
@@ -179,26 +183,26 @@ public class LargeData extends Applicati
}
});
- loadDataButton.getButtonPressListeners().add(new ButtonPressListener() {
- @Override
- public void buttonPressed(Button button) {
- loadDataButton.setEnabled(false);
- cancelButton.setEnabled(true);
+ loadDataButton.getButtonPressListeners().add((button) -> {
+ loadDataButton.setEnabled(false);
+ cancelButton.setEnabled(true);
+ loadData();
+ });
- loadData();
+ cancelButton.getButtonPressListeners().add((button) -> {
+ if (loadDataTask != null) {
+ loadDataTask.abort();
}
+ loadDataButton.setEnabled(true);
+ cancelButton.setEnabled(false);
});
- cancelButton.getButtonPressListeners().add(new ButtonPressListener() {
- @Override
- public void buttonPressed(Button button) {
- if (loadDataTask != null) {
- loadDataTask.abort();
- }
-
- loadDataButton.setEnabled(true);
- cancelButton.setEnabled(false);
+ clearButton.getButtonPressListeners().add((button) -> {
+ if (loadDataTask != null) {
+ loadDataTask.abort();
}
+ tableView.getTableData().clear(); // empty the table
+ statusLabel.setText("");
});
tableView.getTableViewSortListeners().add(new TableViewSortListener.Adapter() {
@@ -256,24 +260,33 @@ public class LargeData extends Applicati
long t1 = System.currentTimeMillis();
String msg = "Read " + tableView.getTableData().getLength() + " rows in "
+ (t1 - t0) + "ms";
- System.out.println(msg);
- statusLabel.setText(msg);
loadDataButton.setEnabled(true);
cancelButton.setEnabled(false);
loadDataTask = null;
+
+ ApplicationContext.queueCallback(() -> {
+ System.out.println(msg);
+ statusLabel.setText(msg);
+ statusLabel.repaint(true);
+ });
}
@Override
public void executeFailed(Task<Void> task) {
String taskFault = task.getFault().toString();
- System.err.println(taskFault);
- statusLabel.setText(taskFault);
+
loadDataButton.setEnabled(true);
cancelButton.setEnabled(false);
loadDataTask = null;
+
+ ApplicationContext.queueCallback(() -> {
+ System.out.println(taskFault);
+ statusLabel.setText(taskFault);
+ statusLabel.repaint(true);
+ });
}
}));
}
Modified: pivot/trunk/demos/src/org/apache/pivot/demos/million/large_data.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/demos/src/org/apache/pivot/demos/million/large_data.bxml?rev=1819086&r1=1819085&r2=1819086&view=diff
==============================================================================
--- pivot/trunk/demos/src/org/apache/pivot/demos/million/large_data.bxml (original)
+++ pivot/trunk/demos/src/org/apache/pivot/demos/million/large_data.bxml Fri Dec 22 19:57:08 2017
@@ -34,6 +34,7 @@ limitations under the License.
listData="['10e0.csv', '10e1.csv', '10e2.csv', '10e3.csv', '10e4.csv', '10e5.csv']" selectedIndex="0"/>
<PushButton bxml:id="loadDataButton" buttonData="Load Data" styles="{minimumAspectRatio:3}"/>
<PushButton bxml:id="cancelButton" buttonData="Cancel" enabled="false" styles="{minimumAspectRatio:3}"/>
+ <PushButton bxml:id="clearButton" buttonData="Clear" styles="{minimumAspectRatio:3}"/>
</BoxPane>
<Label bxml:id="statusLabel"/>
<Separator/>
@@ -43,7 +44,7 @@ limitations under the License.
<Border>
<ScrollPane horizontalScrollBarPolicy="fill_to_capacity">
<TableView bxml:id="tableView" selectMode="single"
- styles="{showHorizontalGridLines:false}">
+ styles="{showHorizontalGridLines:false,includeTrailingVerticalGridLine:true}">
<columns>
<TableView.Column name="c0" headerData="0" width="120"/>
<TableView.Column name="c1" headerData="1" width="120"/>
@@ -53,8 +54,11 @@ limitations under the License.
</TableView>
<columnHeader>
- <TableViewHeader tableView="$tableView" sortMode="single_column"/>
+ <TableViewHeader tableView="$tableView" sortMode="single_column" styles="{includeTrailingVerticalGridLine:true}"/>
</columnHeader>
+ <rowHeader>
+ <NumberRuler orientation="vertical" textSize="7" styles="{backgroundColor:4,color:2,rowPadding:{top:2,bottom:3,left:0,right:0}}"/>
+ </rowHeader>
</ScrollPane>
</Border>
</TablePane.Row>