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?

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

Reply via email to