Very very strange behaviour:
var log= qx.log.Logger.ROOT_LOGGER;
log.setMinLevel(qx.log.Logger.LEVEL_ALL);
qx.Class.include(qx.ui.basic.Atom,qx.io.databinding.MDataManager);
qx.Class.include(qx.ui.basic.Label,qx.io.databinding.MDataManager);
qx.Class.include(qx.ui.form.List,qx.io.databinding.MDataManager);
qx.Class.include(qx.ui.form.TextField,qx.io.databinding.MDataManager);
var at = new qx.ui.basic.Atom;
var la = new qx.ui.basic.Label;
var li = new qx.ui.form.List;
var tf = new qx.ui.form.TextField;
log.info ("qx.ui.basic.Atom.getDataBinding: " + at.getDataBinding);
log.info ("qx.ui.basic.Label.getDataBinding: " + la.getDataBinding);
log.info ("qx.ui.form.List.getDataBinding: " + li.getDataBinding);
log.info ("qx.ui.form.TextField.getDataBinding: " +
tf.getDataBinding);
INFO: root: qx.ui.basic.Atom.getDataBinding: undefined
INFO: root: qx.ui.basic.Label.getDataBinding: undefined
INFO: root: qx.ui.form.List.getDataBinding: function () { return
qx.core.Property.executeOptimizedGetter(this, clazz, name, "get"); }
INFO: root: qx.ui.form.TextField.getDataBinding: undefined
So the mixin seems to "stick" only to the qx.ui.form.List, but to none
of the other classes. Does anyone have an explanation?
Christian
Christian Boulanger schrieb:
> Very interesting:
>
> qx.Class.include(qx.ui.form.List,qx.io.databinding.MDataManager);
> qx.Class.include(qx.ui.basic.Label,qx.io.databinding.MDataManager);
>
> var li = new qx.ui.form.List;
> var la = new qx.ui.basic.Label;
>
> qx.core.Log.error ("qx.ui.form.List.getDataBinding: " +
> li.getDataBinding);
> qx.core.Log.error ("qx.ui.basic.Label.getDataBinding: " +
> la.getDataBinding);
>
> results in:
>
> qx.ui.form.List.getDataBinding: function () { return
> qx.core.Property.executeOptimizedGetter(this, clazz, name, "get"); }
> qx.ui.basic.Label.getDataBinding: undefined
>
> this looks very sophisticated! However, why is
> qx.ui.basic.Label.getDataBinding undefined when
> qx.ui.form.List.getDataBinding has been correctly set?
>
> C.
>
>
> Christian Boulanger schrieb:
>
>> Here is something I don't understand:
>>
>> qx.Class.include(qx.ui.form.List,qx.io.databinding.MDataManager);
>> for (var i in qx.ui.form.List)
>> qx.core.Log.error(i + ": " + qx.ui.form.List[i]);
>>
>> I get the following list:
>>
>> $$original: function () { <snip/>}
>> classname: qx.ui.form.List
>> name: anonymous
>> basename: List
>> toString: function () { return "[Class " + this.classname + "]"; }
>> prototype: [object qx.ui.form.List]
>> superclass: [Class qx.ui.layout.VerticalBoxLayout]
>> constructor: [Class qx.ui.form.List]
>> $$destructor: function () { this._disposeObjects("_manager"); }
>> $$properties: [object Object]
>> $$includes: [Mixin qx.io.databinding.MDataManager]
>> $$flatIncludes: [Mixin qx.io.databinding.MDataManager]
>>
>> I am always amazed and surprised once I dive into the internals of
>> qooxdoo... where are all the getter and setter methods here? why don't
>> they show up if I do a "for (.. in..)" loop?
>>
>> C.
>>
>>
>> Christian Boulanger schrieb:
>>
>>
>>> Any ideas about this problem? At the moment I am not even getting the
>>> first option working, so everything might be a problem of my code. Has
>>> anyone else ever combined mixins and inheritance? Thanks, C.
>>>
>>> Christian Boulanger schrieb:
>>>
>>>
>>>
>>>> if I am including the mixin like so:
>>>>
>>>> qx.Class.include(qx.ui.basic.Label,qx.io.databinding.MDataManager);
>>>>
>>>> everything works. However, trying to achieve the same with
>>>>
>>>> qx.Class.include(qx.core.Target,qx.io.databinding.MDataManager);
>>>>
>>>> fails. It seems I have to manually include the mixin into each class I
>>>> want to use it with.
>>>>
>>>> No messages in the debug log.
>>>>
>>>> It would be great if this could be fixed.
>>>>
>>>> Thanks,
>>>>
>>>> Christian
>>>>
>>>>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel