On Mon, Mar 1, 2010 at 14:36, Greg Beaver <[email protected]> wrote:
>
> My vmware ubuntu instance doesn't have ssl enabled for svn at the moment
> (I am looking to see if I need to compile a custom svn, but that may
> take a while with my limited time), but I can wait until 1.0.2 comes out
> if that will be within the next month or so.
>
Greg, here's Martin's patch from earlier today. You can try to apply it to
your existing code if you'd like.
Derrell
Modified: trunk/qooxdoo/framework/
source/class/qx/data/controller/Form.js
===================================================================
--- trunk/qooxdoo/framework/source/class/qx/data/controller/Form.js
2010-02-26 17:03:32 UTC (rev 21660)
+++ trunk/qooxdoo/framework/source/class/qx/data/controller/Form.js
2010-03-01 07:42:05 UTC (rev 21661)
@@ -208,6 +208,17 @@
// apply method
_applyModel : function(value, old) {
+ // first, get rid off all bindings (avoids whong data population)
+ if (this.__objectController != null) {
+ var items = this.getTarget().getItems();
+ for (var name in items) {
+ var item = items[name];
+ var targetProperty =
+ this.__isModelSelectable(item) ? "modelSelection[0]" : "value";
+ this.__objectController.removeTarget(item, targetProperty, name);
+ }
+ }
+
// set the model of the object controller if available
if (this.__objectController != null) {
this.__objectController.setModel(value);
Modified:
trunk/qooxdoo/framework/source/class/qx/test/data/controller/Form.js
===================================================================
--- trunk/qooxdoo/framework/source/class/qx/test/data/controller/Form.js
2010-02-26 17:03:32 UTC (rev 21660)
+++ trunk/qooxdoo/framework/source/class/qx/test/data/controller/Form.js
2010-03-01 07:42:05 UTC (rev 21661)
@@ -533,7 +533,62 @@
// distroy the objects
c.dispose();
+ },
+
+
+ testConnectionWithListControllerSelection : function() {
+ // generate fake data
+ var data = [{name: "a", age: 1}, {name: "b", age: 2}, {name: "c",
age: 3}];
+ var model = qx.data.marshal.Json.createModel(data);
+
+ // list
+ var list = new qx.ui.form.List();
+ var listController = new qx.data.controller.List(model, list,
"name");
+
+ // form
+ var form = new qx.ui.form.Form();
+ form.add(new qx.ui.form.TextField(), "Name", null, "name");
+ form.add(new qx.ui.form.Spinner(), "Age", null, "age");
+ var formController = new qx.data.controller.Form(null, form);
+
+ // connection
+ listController.bind("selection[0]", formController, "model");
+
+ // select the first item
+ var listItems = list.getSelectables();
+ list.setSelection([listItems[0]]);
+
+ // check if the model is still the same
+ this.assertEquals("a", model.getItem(0).getName());
+ this.assertEquals("b", model.getItem(1).getName());
+ this.assertEquals("c", model.getItem(2).getName());
+ this.assertEquals(1, model.getItem(0).getAge());
+ this.assertEquals(2, model.getItem(1).getAge());
+ this.assertEquals(3, model.getItem(2).getAge());
+
+ // select the second item
+ var listItems = list.getSelectables();
+ list.setSelection([listItems[1]]);
+
+ // check if the model is still the same
+ this.assertEquals("a", model.getItem(0).getName());
+ this.assertEquals("b", model.getItem(1).getName());
+ this.assertEquals("c", model.getItem(2).getName());
+ this.assertEquals(1, model.getItem(0).getAge());
+ this.assertEquals(2, model.getItem(1).getAge());
+ this.assertEquals(3, model.getItem(2).getAge());
+
+ // select the first item again
+ var listItems = list.getSelectables();
+ list.setSelection([listItems[0]]);
+
+ // check if the model is still the same
+ this.assertEquals("a", model.getItem(0).getName());
+ this.assertEquals("b", model.getItem(1).getName());
+ this.assertEquals("c", model.getItem(2).getName());
+ this.assertEquals(1, model.getItem(0).getAge());
+ this.assertEquals(2, model.getItem(1).getAge());
+ this.assertEquals(3, model.getItem(2).getAge());
}
-
}
});
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel