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
>>>>