Hello Gene,
see my answers to your questions below.

Am 07.04.2009 um 15:07 schrieb Gene Amtower:

Hi, Cajus,

I've not used these classes myself yet, but I was looking through your sample code anyway to learn from it. I can't seem to find the "SetModel" and "SetDelegate" methods that you are calling in the controller.Tree class by browsing the API reference. I also noted that this class is marked as "Experimental", which may lead to problems. I have Qooxdoo 0.8.2 trunk from last week - which Qooxdoo version are you using? Can anyone explain why I'm not seeing these methods in the API documentation, either my local copy or the Qooxdoo site copy?

You cant find the two mentioned methods in the default API view because these are accessor methods for properties. If you´ll expand the properties in the view menu which you can find on the top right of the api viewer you can see the methods.

Yes, the data binding is still experimental but has a good level of quality already. There may be some API changes until its final but the quality should be ok.

Regards,
Martin




Also, I compared your code to the DemoBrowser code for data/ TreeController, and it includes the "nodes[0]" data array in the constructor for qx.data.controller.Tree, where you use the "null" value and follow up with the SetModel method (that I can't find in the API) to set it. You might try instead adding "nodes[0]" into the constructor method instead of the way you have it in the example code.


   Gene


On Tue, 2009-04-07 at 14:16 +0200, Cajus Pollmeier wrote:

Hi Martin, hi Christian,

just tracked it down to the setDelegate call of the tree controller. If I remove it, it works fine. Hm. Is there some general fault in my idea of using the delegation?

I've attached a simple sample application.

Thanks,
Cajus

Martin Wittemann schrieb:
> Hello Cajus,
>
> really looks like you said, rootNode is null. With your push into a
> children array you change the length of a model node. So you could
> check the __changeModelChildren method, which calls the
> __updateTreeChildren method. This method fetches the reference to the
> tree node from an internal store of nodes called __childrenRef.
> Perhaps the nodes array is not stored correctly. You should can have a
> look at that first.
>
> But as christian said, it would be best for us to have a code snippet > which demonstrates the error so i can get into detail for myself and
> fix the bug in the tree controller right away. Because this sounds
> like a bug in the tree controller to me.
>
> Best,
> Martin
>
>
> Am 07.04.2009 um 10:49 schrieb Cajus Pollmeier:
>
>> Hi Christian,
>>
>> ok. Need time for that. I've to seperate much stuff in order to get
>> something reproducable without the test environment. I was in hope
>> that someone could give a hint to track it down myself ;-)
>>
>> Give me some hours... I'll be back.
>>
>> Cheers,
>> Cajus
>>
>> Christian Schmidt schrieb:
>>> Hi Cajus,
>>>
>>> could you please send a code snipped to reproduce the issue.
>>>
>>> Thanks,
>>> Chris
>>>
>>> Cajus Pollmeier schrieb:
>>>> Hiho!
>>>>
>>>> I've an application which loads a tree model to a TreeController,
>>>> connected to a Tree and a couple of other thingies in the GUI.
>>>> This works fine - so far. Now, I'm going to add a new node like
>>>> shown in the TreeController demo application using something like:
>>>>
>>>> nodes[0].getChildren().push(node);
>>>>
>>>> What I get, is an error in qx.data.controller.Tree.js, line 447
>>>> (444 in the original file of qooxdoo 0.8.2, I've added debug lines
>>>> in Tree.js):
>>>>
>>>> rootNode.getChildren() is null
>>>> __updateTreeChildren()(qx.ui.tree.TreeFolder[undefined] $
>>>> $useinit_focusable=true $$useinit_selectable=true,
>>>> td.data.model.Movie[1ac] $$hash=1ac $$user_children=[5] $
>>>> $user_uid=21)Tree.js (Linie 447)
>>>> __changeModelChildren()(qx.event.type.Data[6u] $$hash=6u
>>>> _type=change _target=[5])Tree.js (Linie 344)
>>>> dispatchEvent()([undefined, undefined, undefined, 2 more... $
>>>> $hash=1ad __array=[5] length=5], qx.event.type.Data[6u] $ $hash=6u
>>>> _type=change _target=[5], "change")Direct.js (Linie 99)
>>>> wrappedFunction()Interface.js (Linie 422)
>>>> dispatchEvent()([undefined, undefined, undefined, 2 more... $
>>>> $hash=1ad __array=[5] length=5], qx.event.type.Data[6u] $ $hash=6u
>>>> _type=change _target=[5])Manager.js (Linie 809)
>>>> fireNonBubblingEvent()([undefined, undefined, undefined, 2 more...
>>>> $$hash=1ad __array=[5] length=5], "change", function(), [Object
>>>> start=4 end=4 type=add, null, false 0=Object
>>>> 2=false])Registration.js (Linie 327)
>>>> fireDataEvent()("change", Object start=4 end=4 type=add, null,
>>>> undefined)Object.js (Linie 515)
>>>> push()(td.data.model.Scene[1d8] $$hash=1d8 $$user_children=[0] $
>>>> $user_name=Test)Array.js (Linie 173)
>>>> addSceneAfter()(null, td.data.model.Scene[1d8] $$hash=1d8 $
>>>> $user_children=[0] $$user_name=Horst)Model.js (Linie 48)
>>>> (?)()()
>>>>
>>>> So it seems like rootNode in __updateTreeChildren:
>>>> function(rootNode, modelNode) is empty.
>>>>
>>>> Can someone pass me a hint on what I can do for further debugging?
>>>>
>>>> Thanks,
>>>> Cajus
>>>>

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to