hrm. i have implemented a postorder traversal for formcomponents (see
FormComponent.visitFormComponentsPostOrder) so you can either take that code
and use it in your app, or we can bring it up to markupcontainer and
generalize it.

the problem is that we already have visitComponents, and having a
visitComponentsPostOrder next to it seems a little inconsistent. what do
other devs think?

-igor


On 8/29/07, RedFury <[EMAIL PROTECTED]> wrote:
>
>
> Hi all,
>
> I've writing a very heavily javascripted app in wicket and finding wicket
> handles the complexity wonderfully.  I've used VisitChildren(IVisitor)
> successfully in numerous places but have a problem with a case where I'd
> like to use it 'backwards'.  I'm writing some base components which will
> be
> used by our application programmers and our base Panel has an onClose()
> method which will contribute javascript to a closing panel  (rendered on
> AjaxRequestTarget.prependJavascript())  What I would like to do is have a
> closing panel's children automatically call onClose().
>
> So I started with:
>
> protected final void close()
>     {
>       visitChildren(JumbuckPanel.class, new IVisitor()
>       {
>         public Object component(Component c)
>         {
>           ((JumbuckPanel)c).onClose();
>           return IVisitor.CONTINUE_TRAVERSAL;
>         }
>       });
>     }
>
> Then I realized that this had a problem - being onClose() I needed the
> children to be traversed from the bottom-up, whereas visitChildren always
> seem to go top-down.  That is, from looking at VisitChildren() in
> MarkupContainer, it goes..
>
> -visit this node
> -if this is a container, visitchildren recursively.
>
> wherease I need:
>
> -if this is a container, visitchildren recursively
> -visit this node.
>
> So originally I tried to write reverseVisitChildren() in my sublcass of
> MarkupContainer but then realized all of the access functions
> (children_size
> and children_next) are private in markupContainer and my recursive call to
> reverseVisitChildren would only work on my custom panel, not generic
> MarkupContainers, if that makes.
>
> Is anyone able to suggest a simple solution to this problem, as right now
> the best solution I can think of is to add that functionality to
> MarkupContainer as I think it might prove useful for other people at some
> stage also.
>
> Thanks,
> Dean
>
> --
> View this message in context:
> http://www.nabble.com/VisitChildren-bottom-up-tf4351747.html#a12399896
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to