Revision: 8084
Author: rj...@google.com
Date: Mon May 10 21:33:59 2010
Log: No more double warning on canceled New
http://code.google.com/p/google-web-toolkit/source/detail?r=8084
Modified:
/branches/2.1/bikeshed/src/com/google/gwt/valuestore/ui/AbstractRecordEditActivity.java
=======================================
---
/branches/2.1/bikeshed/src/com/google/gwt/valuestore/ui/AbstractRecordEditActivity.java
Fri May 7 15:22:39 2010
+++
/branches/2.1/bikeshed/src/com/google/gwt/valuestore/ui/AbstractRecordEditActivity.java
Mon May 10 21:33:59 2010
@@ -34,13 +34,14 @@
public abstract class AbstractRecordEditActivity<R extends Record>
implements
Activity, RecordEditView.Delegate {
- private String id;
private final RequestFactory requests;
private final boolean creating;
- private String futureId;
-
- private RecordEditView<R> view;
+ private final RecordEditView<R> view;
+
+ private String id;
+ private String futureId;
private DeltaValueStore deltas;
+ private Display display;
public AbstractRecordEditActivity(RecordEditView<R> view, String id,
RequestFactory requests) {
@@ -53,7 +54,12 @@
public void cancelClicked() {
if (willStop()) {
- exit();
+ deltas = null; // silence the next willStop() call when place changes
+ if (creating) {
+ display.showActivityWidget(null);
+ } else {
+ exit();
+ }
}
}
@@ -62,7 +68,7 @@
}
public void onStop() {
- this.view = null;
+ this.display = null;
}
public void saveClicked() {
@@ -74,7 +80,7 @@
Receiver<Set<SyncResult>> receiver = new Receiver<Set<SyncResult>>()
{
public void onSuccess(Set<SyncResult> response) {
- if (view == null) {
+ if (display == null) {
return;
}
boolean hasViolations = false;
@@ -112,7 +118,9 @@
}
@SuppressWarnings("unchecked")
- public void start(final Display display) {
+ public void start(Display display) {
+ this.display = display;
+
view.setDelegate(this);
view.setDeltaValueStore(deltas);
view.setCreating(creating);
@@ -126,8 +134,8 @@
} else {
fireFindRequest(Value.of(id), new Receiver<R>() {
public void onSuccess(R record) {
- if (view != null) {
- doStart(display, record);
+ if (AbstractRecordEditActivity.this.display != null) {
+ doStart(AbstractRecordEditActivity.this.display, record);
}
}
});
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors