in your case node is a TreeNode so maybe is enough to add a check like this
if (((TreeNode)node).isRendered() && ((TreeNode)node).isCreated()) {
.......................
}

2009/7/15 Kornel Csaszar <[email protected]>

> Andrea,
> I think Patrizio's solution is the way to do it if the tree is rendered.
> The problem I run into often is this: Many actions are triggered
> asynchronously by user actions.
> If the cascade call happens before the tree is rendered, which can happen
> if
> it is triggered by a user action, then the cascade itself will fail
> probably along
> with the call to see if the node is checked, because the entire logic
> depends
> on the tree being rendered.
>
> But if you are certain that the cascade call will never be triggered before
> the
> tree is rendered, then you can safely use the cascade call and other
> methods
> like isChecked(), etc .
>
> At least this has been my experience....I have sections in my code for each
> panel where I know I can safely call methods like this because the widget
> is rendered for sure. At other places I stay away from these calls,
> because
> they crash the browser Java script engine in a way that is awfully hard to
> debug (because there is no exception trace or almost any useful info about
> how the error happened).
>
> -kornel
>
>
>
> On Thu, Jul 9, 2009 at 8:21 AM, Roundcrisis <[email protected]> wrote:
>
>> Hi Kornel
>> Thanks for the pointer,
>> however  not sure I follow. you cant check or uncheck a node that is not
>> rendered, right?
>> so i would imagine this cant happen...
>> Cheers
>>
>>
>> Andrea
>>
>>
>>
>>
>> On Thu, Jul 9, 2009 at 12:45 PM, Kornel Csaszar <[email protected]> wrote:
>>
>>> Andrea,
>>> It's good to be careful with getting info back from widgets like that. If
>>> the widget
>>> is not yet rendered you will get a very nasty general error (yellow
>>> triangle).
>>>
>>> If you need that info and you are not certain the component
>>> will have been rendered by that time, it's often best to keep collections
>>> of
>>> objects on your own of the tree node references.
>>>
>>> -kornel
>>>
>>>
>>> On Mon, Jul 6, 2009 at 10:30 AM, Roundcrisis <[email protected]>wrote:
>>>
>>>> Yeah that does work thanks :D
>>>> Andrea
>>>>
>>>>
>>>>
>>>>
>>>> On Mon, Jul 6, 2009 at 12:57 PM, Patrizio De Michele <
>>>> [email protected]> wrote:
>>>>
>>>>> hi,
>>>>> maybe you can use this code, try it and make me know:
>>>>>
>>>>> final List<Node> checkedNodes = new ArrayList<Node>();
>>>>> final List<Node> allNodes = new ArrayList<Node>();
>>>>>         treePanel.getRootNode().cascade(new NodeTraversalCallback() {
>>>>>             public boolean execute(Node node) {
>>>>>                 if (Boolean.valueOf(node.getAttribute("checked"))) {
>>>>>                     checkedNodes.add(node);
>>>>>                 }
>>>>>                 allNodes.add(node);
>>>>>                 return true;
>>>>>             }
>>>>>         });
>>>>>
>>>>> bye Patrizio
>>>>>
>>>>>
>>>>> 2009/7/6 Andrea <[email protected]>
>>>>>
>>>>>
>>>>>> Hi there
>>>>>>
>>>>>> I m using a TreePanel that can be checked; and was wondering what is
>>>>>> the best way to get info back from the tree: ie all nodes whether they
>>>>>> are checked or not , and I would like to know if they are.
>>>>>>
>>>>>> I know i can use treePanel.getChecked()  but that only gets me the
>>>>>> checked ones
>>>>>> or I can use  root.getChildNodes() but here I m not terribly sure how
>>>>>> to know if its checked or not, it also seems quite cumbersome to
>>>>>> navigate the tree structure this way
>>>>>>
>>>>>> any other alternatives? or recomended way to deal with trees in
>>>>>> general?
>>>>>>
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"GWT-Ext Developer Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/gwt-ext?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to