[ https://issues.apache.org/jira/browse/WICKET-627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12502851 ]
Alastair Maw commented on WICKET-627: ------------------------------------- <AlMaw> So, making onBeforeRenderChildren protected doesn't help. :-( <AlMaw> As I'm wanting to add a behaviour to them somewhere. <AlMaw> And if I do that in the onBeforeRenderChildren() of my containing Form, with an IVisitor, that won't work. <AlMaw> As onBeforeRender() for all the children has to be called first. <AlMaw> And that sets the RENDER flag to true. <AlMaw> So you can't add a behaviour any more. > onBeforeRenderChildren should be made protected > ----------------------------------------------- > > Key: WICKET-627 > URL: https://issues.apache.org/jira/browse/WICKET-627 > Project: Wicket > Issue Type: Bug > Affects Versions: 1.3.0-beta1 > Reporter: Alastair Maw > Assignee: Alastair Maw > Fix For: 1.3.0-beta2 > > > I've discussed this with Johan and we think we need to make > onBeforeRenderChildren() protected. > <AlMaw> I have a ValidationTaggedForm extends Form. > <AlMaw> And in onBeforeRender, I call visitChildren(validationTaggingVisitor) > <AlMaw> And the validationTaggingVisitor adds a behaviour. > <AlMaw> If I have a ListView in the Form, onBeforeRender for the Form is > called before the ListView populateItem calls. > <AlMaw> Thus the components added in the ListView aren't visited. > We can't just swap the order of the calls to onBeforeRender() and > onBeforeRenderChildren() in Component#beforeRender() because that will break > existing code and the repeaters. Besides, someone will only want to do things > the other way around at some later date (e.g. attach a behaviour to a parent > using a child then needs to reference/find). > Suggested solution is to make onBeforeRenderChildren() protected, which will > allow as much flexibility as you like. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.