You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by smallufo <sm...@gmail.com> on 2008/06/19 21:40:57 UTC
Re: Inheritance inside a Container
Hello ,
I had exactly the same problem , and solved by searching to this post.
Thanks a lot.
BUT , today , I have another problem...
Today , the ChildPanel can accept a new parameter : boolean defaultVisible
if true , the content will be shown;
if false , the content will be invisible , only the title bar is visible.
The title bar is defined in ParentPanel , containing a title label and a
"expand/collapse" ajax link (a toggle).
Here comes the problem.
In the ChildPanel , if I write :
setVisible(defaultVisible);
and if the defaultVisible is false , the whole panel , including ParentPanel
(including title bar) will be invisible;
This makes users unable to make it re-appear.
However , if I write code like this :
get("content").setVisible(defaultVisible);
("content" is the WebMarkupContainer defined in ParentPanel returning
isTransparentResolver() TRUE)
It will throw WicketRuntimeException while
org.apache.wicket.Page.checkRendering
org.apache.wicket.WicketRuntimeException: The component(s) below failed to
render. A common problem is that you have added a component in code but
forgot to reference it in the markup (thus the component will never be
rendered).
How to solve it ?
2008/4/6 Martijn Dashorst <ma...@gmail.com>:
> You should do this:
>
> WMC wmc = new WMC("childContainer") {
> @override boolean isTransparentResolver() { return true; }
> };
>
> This is not a bug. If you do add() in the subclass's constructor, you
> add to the page itself. Which is how the hierarchy is constructed. By
> telling the WMC that it is a transparent resolver, you tell it to look
> for children without attached markup in its siblings.
>
> Martijn
>
> On 4/5/08, Oliver Sawade <de...@gmx.de> wrote:
> > Hi everyone,
> > my first mail to the list, i hope this wasn`t answered million times
> > before, but the wicket users faq is empty so i couldn`t find it there ;)
> >
> > I'm using wicket1.3 to create a generic panel with the option to hide
> > everything inside when clicking an ajax-button. While the actual
> > hiding&showing works fine I'm having trouble with inheritance.
> > This example should show what I mean:
> >
> > This is my generic super panel (no ajax stuff in it here to show the
> > essential problem). The idea is, that the childContainer is set to
> > Visible:false when the button is clicked. All of this should happen in
> the
> > super class, so i don't have to care about it in the child class:
> >
> > public class testSuperPanel extends Panel {
> > public testSuperPanel(String id) {
> > super(id);
> > add(new WebMarkupContainer("childContainer"));
> > }
> > }
> >
> > The markup for testSuperPanel:
> > <wicket:panel>
> > <div wicket:id="childContainer">
> > <wicket:child/>
> > </div>
> > </wicket:panel>
> >
> > This is a sample child panel:
> >
> > public class testChildPanel extends testSuperPanel {
> > public testChildPanel(String id) {
> > super(id);
> > add(new Label("childLabel","Test!"));
> > }
> > }
> >
> > and the Markup:
> > <wicket:extend>
> > <span wicket:id="childLabel"></span>
> > </wicket:extend>
> >
> > As you see, it should simply display "Test" inside a MarkupContainer
> (which
> > could be hidden from the superClass). When i try to display this Panel
> > however I get an Exception stating that no code is added for the Label
> > "childLabel"!
> > This can be solved by adding the childLabel to the container in the
> > superClass, but thats obviously not the way it is meant to be:
> >
> > public class testSuperPanel extends Panel {
> > public testSuperPanel(String id) {
> > super(id);
> > WebMarkupContainer wmc = new
> > WebMarkupContainer("childContainer");
> > wmc.add(new Label("childLabel","Test!"));
> > add(wmc);
> > }
> > }
> >
> > So, is this a wicket bug with inheritance inside containers or am I just
> > doing things the wrong way?
> >
> > Thanks for your help!
> > best regards, Oli
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org
> >
> >
>
>
> --
> Buy Wicket in Action: http://manning.com/dashorst
> Apache Wicket 1.3.2 is released
> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
Re: Inheritance inside a Container
Posted by smallufo <sm...@gmail.com>.
Hello ,
I created a new issue containing the codes : WICKET-1712
https://issues.apache.org/jira/browse/WICKET-1712
Thanks.
2008/6/22 Maurice Marrink <ma...@gmail.com>:
> Sounds Like a bug.
> Could you open up a jira request please and attach a quickstart
> showing this behavior.
>
> Thanks.
>
> Maurice
>
> On Fri, Jun 20, 2008 at 10:52 PM, smallufo <sm...@gmail.com> wrote:
> > Hi , after a few try and errors , I can conclude how the problem occurs
> >
> > In the ChildPanel , if my code is as follows :
> >
> > <wicket:extend>
> > <span wicket:id="selectDeselectGroup">
> >
> > </span>
> > blah...
> > </wicket:extend>
> >
> > and code :
> > RadioGroup selectDeselectGroup = new RadioGroup("selectDeselectGroup");
> > add(selectDeselectGroup);
> >
> > Everything goes fine , no matter the Child Panel is collapsed / expanded
> ,
> > page-reloading is OK
> >
> > But , if I add something inside the CheckGroup :
> >
> > <wicket:extend>
> > <span wicket:id="selectDeselectGroup">
> > <input type="radio" wicket:id="selectAll"/>select all
> > <input type="radio" wicket:id="deselectAll"/>clean
> > </span>
> > </wicket:extend>
> >
> > and code :
> >
> > RadioGroup selectDeselectGroup = new RadioGroup("selectDeselectGroup");
> > add(selectDeselectGroup);
> > Radio selectAll = new Radio("selectAll" , new Model(Boolean.FALSE));
> > Radio deselectAll = new Radio("deselectAll" , new Model(Boolean.FALSE));
> > selectDeselectGroup.add(selectAll);
> > selectDeselectGroup.add(deselectAll);
> >
> > (Note , I haven't implement any AjaxEventBehavior("onclick") to the 2
> > radios)
> >
> > Here comes the problem :
> > If the Child Panel is expanded , page reloading is OK.
> > But...
> > If the Child Panel is collapsed (folded /hidden) and do page reloading ,
> it
> > will throw exception :
> >
> >
> > Root cause:
> >
> > org.apache.wicket.WicketRuntimeException: The component(s) below failed
> to
> > render. A common problem is that you have added a component in code but
> > forgot to reference it in the markup (thus the component will never be
> > rendered).
> >
> > 1. [MarkupContainer [Component id = checkGroup, page =
> > destiny.wicket.astrology.HoroscopePage, path =
> > 3:selectPlanetsPanel:checkGroup.CheckGroup, isVisible = true, isVersioned
> =
> > false]]
> > 2. [MarkupContainer [Component id = selectDeselectGroup, page =
> > destiny.wicket.astrology.HoroscopePage, path =
> > 3:selectPlanetsPanel:selectDeselectGroup.RadioGroup, isVisible = true,
> > isVersioned = false]]
> > 3. [MarkupContainer [Component id = selectAll, page =
> > destiny.wicket.astrology.HoroscopePage, path =
> > 3:selectPlanetsPanel:selectDeselectGroup:selectAll.Radio, isVisible =
> true,
> > isVersioned = false]]
> > 4. [MarkupContainer [Component id = deselectAll, page =
> > destiny.wicket.astrology.HoroscopePage, path =
> > 3:selectPlanetsPanel:selectDeselectGroup:deselectAll.Radio, isVisible =
> > true, isVersioned = false]]
> >
> > at org.apache.wicket.Page.checkRendering(Page.java:1116)
> > at org.apache.wicket.Page.renderPage(Page.java:914)
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
Re: Inheritance inside a Container
Posted by Maurice Marrink <ma...@gmail.com>.
Sounds Like a bug.
Could you open up a jira request please and attach a quickstart
showing this behavior.
Thanks.
Maurice
On Fri, Jun 20, 2008 at 10:52 PM, smallufo <sm...@gmail.com> wrote:
> Hi , after a few try and errors , I can conclude how the problem occurs
>
> In the ChildPanel , if my code is as follows :
>
> <wicket:extend>
> <span wicket:id="selectDeselectGroup">
>
> </span>
> blah...
> </wicket:extend>
>
> and code :
> RadioGroup selectDeselectGroup = new RadioGroup("selectDeselectGroup");
> add(selectDeselectGroup);
>
> Everything goes fine , no matter the Child Panel is collapsed / expanded ,
> page-reloading is OK
>
> But , if I add something inside the CheckGroup :
>
> <wicket:extend>
> <span wicket:id="selectDeselectGroup">
> <input type="radio" wicket:id="selectAll"/>select all
> <input type="radio" wicket:id="deselectAll"/>clean
> </span>
> </wicket:extend>
>
> and code :
>
> RadioGroup selectDeselectGroup = new RadioGroup("selectDeselectGroup");
> add(selectDeselectGroup);
> Radio selectAll = new Radio("selectAll" , new Model(Boolean.FALSE));
> Radio deselectAll = new Radio("deselectAll" , new Model(Boolean.FALSE));
> selectDeselectGroup.add(selectAll);
> selectDeselectGroup.add(deselectAll);
>
> (Note , I haven't implement any AjaxEventBehavior("onclick") to the 2
> radios)
>
> Here comes the problem :
> If the Child Panel is expanded , page reloading is OK.
> But...
> If the Child Panel is collapsed (folded /hidden) and do page reloading , it
> will throw exception :
>
>
> Root cause:
>
> org.apache.wicket.WicketRuntimeException: The component(s) below failed to
> render. A common problem is that you have added a component in code but
> forgot to reference it in the markup (thus the component will never be
> rendered).
>
> 1. [MarkupContainer [Component id = checkGroup, page =
> destiny.wicket.astrology.HoroscopePage, path =
> 3:selectPlanetsPanel:checkGroup.CheckGroup, isVisible = true, isVersioned =
> false]]
> 2. [MarkupContainer [Component id = selectDeselectGroup, page =
> destiny.wicket.astrology.HoroscopePage, path =
> 3:selectPlanetsPanel:selectDeselectGroup.RadioGroup, isVisible = true,
> isVersioned = false]]
> 3. [MarkupContainer [Component id = selectAll, page =
> destiny.wicket.astrology.HoroscopePage, path =
> 3:selectPlanetsPanel:selectDeselectGroup:selectAll.Radio, isVisible = true,
> isVersioned = false]]
> 4. [MarkupContainer [Component id = deselectAll, page =
> destiny.wicket.astrology.HoroscopePage, path =
> 3:selectPlanetsPanel:selectDeselectGroup:deselectAll.Radio, isVisible =
> true, isVersioned = false]]
>
> at org.apache.wicket.Page.checkRendering(Page.java:1116)
> at org.apache.wicket.Page.renderPage(Page.java:914)
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Inheritance inside a Container
Posted by smallufo <sm...@gmail.com>.
Hi , after a few try and errors , I can conclude how the problem occurs
In the ChildPanel , if my code is as follows :
<wicket:extend>
<span wicket:id="selectDeselectGroup">
</span>
blah...
</wicket:extend>
and code :
RadioGroup selectDeselectGroup = new RadioGroup("selectDeselectGroup");
add(selectDeselectGroup);
Everything goes fine , no matter the Child Panel is collapsed / expanded ,
page-reloading is OK
But , if I add something inside the CheckGroup :
<wicket:extend>
<span wicket:id="selectDeselectGroup">
<input type="radio" wicket:id="selectAll"/>select all
<input type="radio" wicket:id="deselectAll"/>clean
</span>
</wicket:extend>
and code :
RadioGroup selectDeselectGroup = new RadioGroup("selectDeselectGroup");
add(selectDeselectGroup);
Radio selectAll = new Radio("selectAll" , new Model(Boolean.FALSE));
Radio deselectAll = new Radio("deselectAll" , new Model(Boolean.FALSE));
selectDeselectGroup.add(selectAll);
selectDeselectGroup.add(deselectAll);
(Note , I haven't implement any AjaxEventBehavior("onclick") to the 2
radios)
Here comes the problem :
If the Child Panel is expanded , page reloading is OK.
But...
If the Child Panel is collapsed (folded /hidden) and do page reloading , it
will throw exception :
Root cause:
org.apache.wicket.WicketRuntimeException: The component(s) below failed to
render. A common problem is that you have added a component in code but
forgot to reference it in the markup (thus the component will never be
rendered).
1. [MarkupContainer [Component id = checkGroup, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup.CheckGroup, isVisible = true, isVersioned =
false]]
2. [MarkupContainer [Component id = selectDeselectGroup, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:selectDeselectGroup.RadioGroup, isVisible = true,
isVersioned = false]]
3. [MarkupContainer [Component id = selectAll, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:selectDeselectGroup:selectAll.Radio, isVisible = true,
isVersioned = false]]
4. [MarkupContainer [Component id = deselectAll, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:selectDeselectGroup:deselectAll.Radio, isVisible =
true, isVersioned = false]]
at org.apache.wicket.Page.checkRendering(Page.java:1116)
at org.apache.wicket.Page.renderPage(Page.java:914)
Re: Inheritance inside a Container
Posted by smallufo <sm...@gmail.com>.
ok...here is the error message (very long)
summary :
abstrac class AbstractPullDownPanel (the Parent Panel , abstract ,
containing a title bar and a "content" WebMarkupContainer) , the full code
is shown in the previous post.
class SelectPlanetsPanel extends AbstractPullDownPanel : containing a
CheckGroup , can be expanded / collapsed by AbstractPullDownPanel
org.apache.wicket.WicketRuntimeException: The component(s) below failed to
render. A common problem is that you have added a component in code but
forgot to reference it in the markup (thus the component will never be
rendered).
1. [MarkupContainer [Component id = checkGroup, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup.CheckGroup, isVisible = true, isVersioned =
false]]
2. [MarkupContainer [Component id = list, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list.SelectStarsPanel2$1, isVisible = true,
isVersioned = false]]
3. [MarkupContainer [Component id = 0, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:0.ListItem, isVisible = true,
isVersioned = false]]
4. [MarkupContainer [Component id = check, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:0:check.PointShownCheckBox, isVisible =
true, isVersioned = false]]
5. [Component id = name, page = destiny.wicket.astrology.HoroscopePage, path
= 3:selectPlanetsPanel:checkGroup:list:0:name.Label, isVisible = true,
isVersioned = false]
6. [Component id = starIcon, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:0:starIcon.Image, isVisible =
true, isVersioned = false]
7. [MarkupContainer [Component id = 1, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:1.ListItem, isVisible = true,
isVersioned = false]]
8. [MarkupContainer [Component id = check, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:1:check.PointShownCheckBox, isVisible =
true, isVersioned = false]]
9. [Component id = name, page = destiny.wicket.astrology.HoroscopePage, path
= 3:selectPlanetsPanel:checkGroup:list:1:name.Label, isVisible = true,
isVersioned = false]
10. [Component id = starIcon, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:1:starIcon.Image, isVisible =
true, isVersioned = false]
11. [MarkupContainer [Component id = 2, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:2.ListItem, isVisible = true,
isVersioned = false]]
12. [MarkupContainer [Component id = check, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:2:check.PointShownCheckBox, isVisible =
true, isVersioned = false]]
13. [Component id = name, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:2:name.Label, isVisible = true,
isVersioned = false]
14. [Component id = starIcon, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:2:starIcon.Image, isVisible =
true, isVersioned = false]
15. [MarkupContainer [Component id = 3, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:3.ListItem, isVisible = true,
isVersioned = false]]
16. [MarkupContainer [Component id = check, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:3:check.PointShownCheckBox, isVisible =
true, isVersioned = false]]
17. [Component id = name, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:3:name.Label, isVisible = true,
isVersioned = false]
18. [Component id = starIcon, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:3:starIcon.Image, isVisible =
true, isVersioned = false]
19. [MarkupContainer [Component id = 4, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:4.ListItem, isVisible = true,
isVersioned = false]]
20. [MarkupContainer [Component id = check, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:4:check.PointShownCheckBox, isVisible =
true, isVersioned = false]]
21. [Component id = name, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:4:name.Label, isVisible = true,
isVersioned = false]
22. [Component id = starIcon, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:4:starIcon.Image, isVisible =
true, isVersioned = false]
23. [MarkupContainer [Component id = 5, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:5.ListItem, isVisible = true,
isVersioned = false]]
24. [MarkupContainer [Component id = check, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:5:check.PointShownCheckBox, isVisible =
true, isVersioned = false]]
25. [Component id = name, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:5:name.Label, isVisible = true,
isVersioned = false]
26. [Component id = starIcon, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:5:starIcon.Image, isVisible =
true, isVersioned = false]
27. [MarkupContainer [Component id = 6, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:6.ListItem, isVisible = true,
isVersioned = false]]
28. [MarkupContainer [Component id = check, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:6:check.PointShownCheckBox, isVisible =
true, isVersioned = false]]
29. [Component id = name, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:6:name.Label, isVisible = true,
isVersioned = false]
30. [Component id = starIcon, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:6:starIcon.Image, isVisible =
true, isVersioned = false]
31. [MarkupContainer [Component id = 7, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:7.ListItem, isVisible = true,
isVersioned = false]]
32. [MarkupContainer [Component id = check, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:7:check.PointShownCheckBox, isVisible =
true, isVersioned = false]]
33. [Component id = name, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:7:name.Label, isVisible = true,
isVersioned = false]
34. [Component id = starIcon, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:7:starIcon.Image, isVisible =
true, isVersioned = false]
35. [MarkupContainer [Component id = 8, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:8.ListItem, isVisible = true,
isVersioned = false]]
36. [MarkupContainer [Component id = check, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:8:check.PointShownCheckBox, isVisible =
true, isVersioned = false]]
37. [Component id = name, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:8:name.Label, isVisible = true,
isVersioned = false]
38. [Component id = starIcon, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:8:starIcon.Image, isVisible =
true, isVersioned = false]
39. [MarkupContainer [Component id = 9, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:9.ListItem, isVisible = true,
isVersioned = false]]
40. [MarkupContainer [Component id = check, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:list:9:check.PointShownCheckBox, isVisible =
true, isVersioned = false]]
41. [Component id = name, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:9:name.Label, isVisible = true,
isVersioned = false]
42. [Component id = starIcon, page = destiny.wicket.astrology.HoroscopePage,
path = 3:selectPlanetsPanel:checkGroup:list:9:starIcon.Image, isVisible =
true, isVersioned = false]
43. [MarkupContainer [Component id = selectDeselectGroup, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:selectDeselectGroup.RadioGroup, isVisible =
true, isVersioned = false]]
44. [MarkupContainer [Component id = selectAll, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:selectDeselectGroup:selectAll.Radio,
isVisible = true, isVersioned = false]]
45. [MarkupContainer [Component id = deselectAll, page =
destiny.wicket.astrology.HoroscopePage, path =
3:selectPlanetsPanel:checkGroup:selectDeselectGroup:deselectAll.Radio,
isVisible = true, isVersioned = false]]
46. [Component id = text, page = destiny.wicket.astrology.HoroscopePage,
path = 3:aspectConfigPanel:text.Label, isVisible = true, isVersioned = true]
at org.apache.wicket.Page.checkRendering(Page.java:1116)
at org.apache.wicket.Page.renderPage(Page.java:914)
at
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:231)
at
org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104)
at
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1172)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1331)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:363)
at
org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:124)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
at
com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
at
com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
at
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at
com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:420)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:514)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:520)
at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
at java.lang.Thread.run(Thread.java:619)
2008/6/20 Maurice Marrink <ma...@gmail.com>:
> Can you show us the stacktrace?
>
> Maurice
>
> On Thu, Jun 19, 2008 at 11:39 PM, smallufo <sm...@gmail.com> wrote:
> > I tried to pull up the "boolean defaultVisible" parameter to the
> ParentPanel
> > , but still the same error ....
> >
> > public abstract class AbstractPullDownPanel extends Panel
> > {
> > private final WebMarkupContainer content;
> >
> > public AbstractPullDownPanel(String id , String title , final boolean
> > defaultVisible)
> > {
> > super(id);
> >
> > Label titleLabel = new Label("title" , title);
> >
> > content = new WebMarkupContainer("content")
> > {
> > @Override
> > public boolean isTransparentResolver()
> > {
> > return true;
> > }
> > };
> >
> > content.setOutputMarkupPlaceholderTag(true);
> > content.setVisible(defaultVisible);
> > add(content);
> >
> > final Label collapseExpandText = new Label("collapseExpandText");
> > collapseExpandText.setOutputMarkupPlaceholderTag(true);
> > if (content.isVisible())
> > collapseExpandText.setModel(new StringResourceModel("collapse" ,
> this
> > , null));
> > else
> > collapseExpandText.setModel(new StringResourceModel("expand" , this
> ,
> > null));
> >
> > Link collapseExpandLink = new AjaxFallbackLink("collapseExpandLink")
> > {
> > @Override
> > public void onClick(AjaxRequestTarget target)
> > {
> > if (content.isVisible())
> > {
> > target.addComponent(content.setVisible(false));
> > target.addComponent(collapseExpandText.setModel(new
> > StringResourceModel("expand" , this , null)));
> >
> > //call template method
> > invisible();
> > }
> > else
> > {
> > target.addComponent(content.setVisible(true));
> > target.addComponent(collapseExpandText.setModel(new
> > StringResourceModel("collapse" , this , null)));
> >
> > //call template method
> > visible();
> > }
> > }
> > };
> > add(collapseExpandLink);
> > collapseExpandLink.add(collapseExpandText);
> > collapseExpandLink.add(titleLabel);
> > }
> >
> >
> >
> >
> >
> > 2008/6/20 smallufo <sm...@gmail.com>:
> >
> >> Well , let me describe more detail....
> >> When the user enters the page , he can successfully show/hide the
> content
> >> (ChildPanel) without problems.
> >> The state is stored in wicket's session.
> >>
> >> If the ChildPanel is "open"(expand/show) , and he reloads the page ,
> >> everything works fine.
> >> BUT...
> >> If he "close" (collapse/hide) the ChildPanel , and reloads the page ,
> the
> >> runtimeException is thrown.
> >>
> >>
> >> I don't know how to solve this problem...
> >>
> >>
> >>
> >> 2008/6/20 smallufo <sm...@gmail.com>:
> >>
> >> Hi...
> >>>
> >>> I am using 1.3.3
> >>>
> >>> 2008/6/20 Maurice Marrink <ma...@gmail.com>:
> >>>
> >>> What wicket version are you on? There was a bug about this but is has
> >>>> long been fixed. https://issues.apache.org/jira/browse/WICKET-1095
> >>>>
> >>>> Maurice
> >>>>
> >>>> On Thu, Jun 19, 2008 at 9:40 PM, smallufo <sm...@gmail.com> wrote:
> >>>> > Hello ,
> >>>> > I had exactly the same problem , and solved by searching to this
> post.
> >>>> > Thanks a lot.
> >>>> >
> >>>> > BUT , today , I have another problem...
> >>>> >
> >>>> > Today , the ChildPanel can accept a new parameter : boolean
> >>>> defaultVisible
> >>>> > if true , the content will be shown;
> >>>> > if false , the content will be invisible , only the title bar is
> >>>> visible.
> >>>> > The title bar is defined in ParentPanel , containing a title label
> and
> >>>> a
> >>>> > "expand/collapse" ajax link (a toggle).
> >>>> >
> >>>> > Here comes the problem.
> >>>> > In the ChildPanel , if I write :
> >>>> > setVisible(defaultVisible);
> >>>> > and if the defaultVisible is false , the whole panel , including
> >>>> ParentPanel
> >>>> > (including title bar) will be invisible;
> >>>> > This makes users unable to make it re-appear.
> >>>> >
> >>>> > However , if I write code like this :
> >>>> > get("content").setVisible(defaultVisible);
> >>>> > ("content" is the WebMarkupContainer defined in ParentPanel
> returning
> >>>> > isTransparentResolver() TRUE)
> >>>> >
> >>>> > It will throw WicketRuntimeException while
> >>>> > org.apache.wicket.Page.checkRendering
> >>>> > org.apache.wicket.WicketRuntimeException: The component(s) below
> failed
> >>>> to
> >>>> > render. A common problem is that you have added a component in code
> but
> >>>> > forgot to reference it in the markup (thus the component will never
> be
> >>>> > rendered).
> >>>> >
> >>>> > How to solve it ?
> >>>> >
> >>>> >
> >>>> >
> >>>> >
> >>>> >
> >>>> >
> >>>> > 2008/4/6 Martijn Dashorst <ma...@gmail.com>:
> >>>> >
> >>>> >> You should do this:
> >>>> >>
> >>>> >> WMC wmc = new WMC("childContainer") {
> >>>> >> @override boolean isTransparentResolver() { return true; }
> >>>> >> };
> >>>> >>
> >>>> >> This is not a bug. If you do add() in the subclass's constructor,
> you
> >>>> >> add to the page itself. Which is how the hierarchy is constructed.
> By
> >>>> >> telling the WMC that it is a transparent resolver, you tell it to
> look
> >>>> >> for children without attached markup in its siblings.
> >>>> >>
> >>>> >> Martijn
> >>>> >>
> >>>> >> On 4/5/08, Oliver Sawade <de...@gmx.de> wrote:
> >>>> >> > Hi everyone,
> >>>> >> > my first mail to the list, i hope this wasn`t answered million
> >>>> times
> >>>> >> > before, but the wicket users faq is empty so i couldn`t find it
> >>>> there ;)
> >>>> >> >
> >>>> >> > I'm using wicket1.3 to create a generic panel with the option to
> >>>> hide
> >>>> >> > everything inside when clicking an ajax-button. While the actual
> >>>> >> > hiding&showing works fine I'm having trouble with inheritance.
> >>>> >> > This example should show what I mean:
> >>>> >> >
> >>>> >> > This is my generic super panel (no ajax stuff in it here to show
> >>>> the
> >>>> >> > essential problem). The idea is, that the childContainer is set
> to
> >>>> >> > Visible:false when the button is clicked. All of this should
> happen
> >>>> in
> >>>> >> the
> >>>> >> > super class, so i don't have to care about it in the child class:
> >>>> >> >
> >>>> >> > public class testSuperPanel extends Panel {
> >>>> >> > public testSuperPanel(String id) {
> >>>> >> > super(id);
> >>>> >> > add(new WebMarkupContainer("childContainer"));
> >>>> >> > }
> >>>> >> > }
> >>>> >> >
> >>>> >> > The markup for testSuperPanel:
> >>>> >> > <wicket:panel>
> >>>> >> > <div wicket:id="childContainer">
> >>>> >> > <wicket:child/>
> >>>> >> > </div>
> >>>> >> > </wicket:panel>
> >>>> >> >
> >>>> >> > This is a sample child panel:
> >>>> >> >
> >>>> >> > public class testChildPanel extends testSuperPanel {
> >>>> >> > public testChildPanel(String id) {
> >>>> >> > super(id);
> >>>> >> > add(new Label("childLabel","Test!"));
> >>>> >> > }
> >>>> >> > }
> >>>> >> >
> >>>> >> > and the Markup:
> >>>> >> > <wicket:extend>
> >>>> >> > <span wicket:id="childLabel"></span>
> >>>> >> > </wicket:extend>
> >>>> >> >
> >>>> >> > As you see, it should simply display "Test" inside a
> >>>> MarkupContainer
> >>>> >> (which
> >>>> >> > could be hidden from the superClass). When i try to display this
> >>>> Panel
> >>>> >> > however I get an Exception stating that no code is added for the
> >>>> Label
> >>>> >> > "childLabel"!
> >>>> >> > This can be solved by adding the childLabel to the container in
> the
> >>>> >> > superClass, but thats obviously not the way it is meant to be:
> >>>> >> >
> >>>> >> > public class testSuperPanel extends Panel {
> >>>> >> > public testSuperPanel(String id) {
> >>>> >> > super(id);
> >>>> >> > WebMarkupContainer wmc = new
> >>>> >> > WebMarkupContainer("childContainer");
> >>>> >> > wmc.add(new Label("childLabel","Test!"));
> >>>> >> > add(wmc);
> >>>> >> > }
> >>>> >> > }
> >>>> >> >
> >>>> >> > So, is this a wicket bug with inheritance inside containers or
> am I
> >>>> just
> >>>> >> > doing things the wrong way?
> >>>> >> >
> >>>> >> > Thanks for your help!
> >>>> >> > best regards, Oli
> >>>> >> >
> >>>> >> >
> >>>> ---------------------------------------------------------------------
> >>>> >> > To unsubscribe, e-mail:
> >>>> >> > users-unsubscribe@wicket.apache.org
> >>>> >> > For additional commands, e-mail: users-help@wicket.apache.org
> >>>> >> >
> >>>> >> >
> >>>> >>
> >>>> >>
> >>>> >> --
> >>>> >> Buy Wicket in Action: http://manning.com/dashorst
> >>>> >> Apache Wicket 1.3.2 is released
> >>>> >> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2
> >>>> >>
> >>>> >>
> ---------------------------------------------------------------------
> >>>> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >>>> >> For additional commands, e-mail: users-help@wicket.apache.org
> >>>> >>
> >>>> >>
> >>>> >
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >>>> For additional commands, e-mail: users-help@wicket.apache.org
> >>>>
> >>>>
> >>>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
Re: Inheritance inside a Container
Posted by Maurice Marrink <ma...@gmail.com>.
Can you show us the stacktrace?
Maurice
On Thu, Jun 19, 2008 at 11:39 PM, smallufo <sm...@gmail.com> wrote:
> I tried to pull up the "boolean defaultVisible" parameter to the ParentPanel
> , but still the same error ....
>
> public abstract class AbstractPullDownPanel extends Panel
> {
> private final WebMarkupContainer content;
>
> public AbstractPullDownPanel(String id , String title , final boolean
> defaultVisible)
> {
> super(id);
>
> Label titleLabel = new Label("title" , title);
>
> content = new WebMarkupContainer("content")
> {
> @Override
> public boolean isTransparentResolver()
> {
> return true;
> }
> };
>
> content.setOutputMarkupPlaceholderTag(true);
> content.setVisible(defaultVisible);
> add(content);
>
> final Label collapseExpandText = new Label("collapseExpandText");
> collapseExpandText.setOutputMarkupPlaceholderTag(true);
> if (content.isVisible())
> collapseExpandText.setModel(new StringResourceModel("collapse" , this
> , null));
> else
> collapseExpandText.setModel(new StringResourceModel("expand" , this ,
> null));
>
> Link collapseExpandLink = new AjaxFallbackLink("collapseExpandLink")
> {
> @Override
> public void onClick(AjaxRequestTarget target)
> {
> if (content.isVisible())
> {
> target.addComponent(content.setVisible(false));
> target.addComponent(collapseExpandText.setModel(new
> StringResourceModel("expand" , this , null)));
>
> //call template method
> invisible();
> }
> else
> {
> target.addComponent(content.setVisible(true));
> target.addComponent(collapseExpandText.setModel(new
> StringResourceModel("collapse" , this , null)));
>
> //call template method
> visible();
> }
> }
> };
> add(collapseExpandLink);
> collapseExpandLink.add(collapseExpandText);
> collapseExpandLink.add(titleLabel);
> }
>
>
>
>
>
> 2008/6/20 smallufo <sm...@gmail.com>:
>
>> Well , let me describe more detail....
>> When the user enters the page , he can successfully show/hide the content
>> (ChildPanel) without problems.
>> The state is stored in wicket's session.
>>
>> If the ChildPanel is "open"(expand/show) , and he reloads the page ,
>> everything works fine.
>> BUT...
>> If he "close" (collapse/hide) the ChildPanel , and reloads the page , the
>> runtimeException is thrown.
>>
>>
>> I don't know how to solve this problem...
>>
>>
>>
>> 2008/6/20 smallufo <sm...@gmail.com>:
>>
>> Hi...
>>>
>>> I am using 1.3.3
>>>
>>> 2008/6/20 Maurice Marrink <ma...@gmail.com>:
>>>
>>> What wicket version are you on? There was a bug about this but is has
>>>> long been fixed. https://issues.apache.org/jira/browse/WICKET-1095
>>>>
>>>> Maurice
>>>>
>>>> On Thu, Jun 19, 2008 at 9:40 PM, smallufo <sm...@gmail.com> wrote:
>>>> > Hello ,
>>>> > I had exactly the same problem , and solved by searching to this post.
>>>> > Thanks a lot.
>>>> >
>>>> > BUT , today , I have another problem...
>>>> >
>>>> > Today , the ChildPanel can accept a new parameter : boolean
>>>> defaultVisible
>>>> > if true , the content will be shown;
>>>> > if false , the content will be invisible , only the title bar is
>>>> visible.
>>>> > The title bar is defined in ParentPanel , containing a title label and
>>>> a
>>>> > "expand/collapse" ajax link (a toggle).
>>>> >
>>>> > Here comes the problem.
>>>> > In the ChildPanel , if I write :
>>>> > setVisible(defaultVisible);
>>>> > and if the defaultVisible is false , the whole panel , including
>>>> ParentPanel
>>>> > (including title bar) will be invisible;
>>>> > This makes users unable to make it re-appear.
>>>> >
>>>> > However , if I write code like this :
>>>> > get("content").setVisible(defaultVisible);
>>>> > ("content" is the WebMarkupContainer defined in ParentPanel returning
>>>> > isTransparentResolver() TRUE)
>>>> >
>>>> > It will throw WicketRuntimeException while
>>>> > org.apache.wicket.Page.checkRendering
>>>> > org.apache.wicket.WicketRuntimeException: The component(s) below failed
>>>> to
>>>> > render. A common problem is that you have added a component in code but
>>>> > forgot to reference it in the markup (thus the component will never be
>>>> > rendered).
>>>> >
>>>> > How to solve it ?
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > 2008/4/6 Martijn Dashorst <ma...@gmail.com>:
>>>> >
>>>> >> You should do this:
>>>> >>
>>>> >> WMC wmc = new WMC("childContainer") {
>>>> >> @override boolean isTransparentResolver() { return true; }
>>>> >> };
>>>> >>
>>>> >> This is not a bug. If you do add() in the subclass's constructor, you
>>>> >> add to the page itself. Which is how the hierarchy is constructed. By
>>>> >> telling the WMC that it is a transparent resolver, you tell it to look
>>>> >> for children without attached markup in its siblings.
>>>> >>
>>>> >> Martijn
>>>> >>
>>>> >> On 4/5/08, Oliver Sawade <de...@gmx.de> wrote:
>>>> >> > Hi everyone,
>>>> >> > my first mail to the list, i hope this wasn`t answered million
>>>> times
>>>> >> > before, but the wicket users faq is empty so i couldn`t find it
>>>> there ;)
>>>> >> >
>>>> >> > I'm using wicket1.3 to create a generic panel with the option to
>>>> hide
>>>> >> > everything inside when clicking an ajax-button. While the actual
>>>> >> > hiding&showing works fine I'm having trouble with inheritance.
>>>> >> > This example should show what I mean:
>>>> >> >
>>>> >> > This is my generic super panel (no ajax stuff in it here to show
>>>> the
>>>> >> > essential problem). The idea is, that the childContainer is set to
>>>> >> > Visible:false when the button is clicked. All of this should happen
>>>> in
>>>> >> the
>>>> >> > super class, so i don't have to care about it in the child class:
>>>> >> >
>>>> >> > public class testSuperPanel extends Panel {
>>>> >> > public testSuperPanel(String id) {
>>>> >> > super(id);
>>>> >> > add(new WebMarkupContainer("childContainer"));
>>>> >> > }
>>>> >> > }
>>>> >> >
>>>> >> > The markup for testSuperPanel:
>>>> >> > <wicket:panel>
>>>> >> > <div wicket:id="childContainer">
>>>> >> > <wicket:child/>
>>>> >> > </div>
>>>> >> > </wicket:panel>
>>>> >> >
>>>> >> > This is a sample child panel:
>>>> >> >
>>>> >> > public class testChildPanel extends testSuperPanel {
>>>> >> > public testChildPanel(String id) {
>>>> >> > super(id);
>>>> >> > add(new Label("childLabel","Test!"));
>>>> >> > }
>>>> >> > }
>>>> >> >
>>>> >> > and the Markup:
>>>> >> > <wicket:extend>
>>>> >> > <span wicket:id="childLabel"></span>
>>>> >> > </wicket:extend>
>>>> >> >
>>>> >> > As you see, it should simply display "Test" inside a
>>>> MarkupContainer
>>>> >> (which
>>>> >> > could be hidden from the superClass). When i try to display this
>>>> Panel
>>>> >> > however I get an Exception stating that no code is added for the
>>>> Label
>>>> >> > "childLabel"!
>>>> >> > This can be solved by adding the childLabel to the container in the
>>>> >> > superClass, but thats obviously not the way it is meant to be:
>>>> >> >
>>>> >> > public class testSuperPanel extends Panel {
>>>> >> > public testSuperPanel(String id) {
>>>> >> > super(id);
>>>> >> > WebMarkupContainer wmc = new
>>>> >> > WebMarkupContainer("childContainer");
>>>> >> > wmc.add(new Label("childLabel","Test!"));
>>>> >> > add(wmc);
>>>> >> > }
>>>> >> > }
>>>> >> >
>>>> >> > So, is this a wicket bug with inheritance inside containers or am I
>>>> just
>>>> >> > doing things the wrong way?
>>>> >> >
>>>> >> > Thanks for your help!
>>>> >> > best regards, Oli
>>>> >> >
>>>> >> >
>>>> ---------------------------------------------------------------------
>>>> >> > To unsubscribe, e-mail:
>>>> >> > users-unsubscribe@wicket.apache.org
>>>> >> > For additional commands, e-mail: users-help@wicket.apache.org
>>>> >> >
>>>> >> >
>>>> >>
>>>> >>
>>>> >> --
>>>> >> Buy Wicket in Action: http://manning.com/dashorst
>>>> >> Apache Wicket 1.3.2 is released
>>>> >> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2
>>>> >>
>>>> >> ---------------------------------------------------------------------
>>>> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>>> >> For additional commands, e-mail: users-help@wicket.apache.org
>>>> >>
>>>> >>
>>>> >
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>>
>>>>
>>>
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Inheritance inside a Container
Posted by smallufo <sm...@gmail.com>.
I tried to pull up the "boolean defaultVisible" parameter to the ParentPanel
, but still the same error ....
public abstract class AbstractPullDownPanel extends Panel
{
private final WebMarkupContainer content;
public AbstractPullDownPanel(String id , String title , final boolean
defaultVisible)
{
super(id);
Label titleLabel = new Label("title" , title);
content = new WebMarkupContainer("content")
{
@Override
public boolean isTransparentResolver()
{
return true;
}
};
content.setOutputMarkupPlaceholderTag(true);
content.setVisible(defaultVisible);
add(content);
final Label collapseExpandText = new Label("collapseExpandText");
collapseExpandText.setOutputMarkupPlaceholderTag(true);
if (content.isVisible())
collapseExpandText.setModel(new StringResourceModel("collapse" , this
, null));
else
collapseExpandText.setModel(new StringResourceModel("expand" , this ,
null));
Link collapseExpandLink = new AjaxFallbackLink("collapseExpandLink")
{
@Override
public void onClick(AjaxRequestTarget target)
{
if (content.isVisible())
{
target.addComponent(content.setVisible(false));
target.addComponent(collapseExpandText.setModel(new
StringResourceModel("expand" , this , null)));
//call template method
invisible();
}
else
{
target.addComponent(content.setVisible(true));
target.addComponent(collapseExpandText.setModel(new
StringResourceModel("collapse" , this , null)));
//call template method
visible();
}
}
};
add(collapseExpandLink);
collapseExpandLink.add(collapseExpandText);
collapseExpandLink.add(titleLabel);
}
2008/6/20 smallufo <sm...@gmail.com>:
> Well , let me describe more detail....
> When the user enters the page , he can successfully show/hide the content
> (ChildPanel) without problems.
> The state is stored in wicket's session.
>
> If the ChildPanel is "open"(expand/show) , and he reloads the page ,
> everything works fine.
> BUT...
> If he "close" (collapse/hide) the ChildPanel , and reloads the page , the
> runtimeException is thrown.
>
>
> I don't know how to solve this problem...
>
>
>
> 2008/6/20 smallufo <sm...@gmail.com>:
>
> Hi...
>>
>> I am using 1.3.3
>>
>> 2008/6/20 Maurice Marrink <ma...@gmail.com>:
>>
>> What wicket version are you on? There was a bug about this but is has
>>> long been fixed. https://issues.apache.org/jira/browse/WICKET-1095
>>>
>>> Maurice
>>>
>>> On Thu, Jun 19, 2008 at 9:40 PM, smallufo <sm...@gmail.com> wrote:
>>> > Hello ,
>>> > I had exactly the same problem , and solved by searching to this post.
>>> > Thanks a lot.
>>> >
>>> > BUT , today , I have another problem...
>>> >
>>> > Today , the ChildPanel can accept a new parameter : boolean
>>> defaultVisible
>>> > if true , the content will be shown;
>>> > if false , the content will be invisible , only the title bar is
>>> visible.
>>> > The title bar is defined in ParentPanel , containing a title label and
>>> a
>>> > "expand/collapse" ajax link (a toggle).
>>> >
>>> > Here comes the problem.
>>> > In the ChildPanel , if I write :
>>> > setVisible(defaultVisible);
>>> > and if the defaultVisible is false , the whole panel , including
>>> ParentPanel
>>> > (including title bar) will be invisible;
>>> > This makes users unable to make it re-appear.
>>> >
>>> > However , if I write code like this :
>>> > get("content").setVisible(defaultVisible);
>>> > ("content" is the WebMarkupContainer defined in ParentPanel returning
>>> > isTransparentResolver() TRUE)
>>> >
>>> > It will throw WicketRuntimeException while
>>> > org.apache.wicket.Page.checkRendering
>>> > org.apache.wicket.WicketRuntimeException: The component(s) below failed
>>> to
>>> > render. A common problem is that you have added a component in code but
>>> > forgot to reference it in the markup (thus the component will never be
>>> > rendered).
>>> >
>>> > How to solve it ?
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > 2008/4/6 Martijn Dashorst <ma...@gmail.com>:
>>> >
>>> >> You should do this:
>>> >>
>>> >> WMC wmc = new WMC("childContainer") {
>>> >> @override boolean isTransparentResolver() { return true; }
>>> >> };
>>> >>
>>> >> This is not a bug. If you do add() in the subclass's constructor, you
>>> >> add to the page itself. Which is how the hierarchy is constructed. By
>>> >> telling the WMC that it is a transparent resolver, you tell it to look
>>> >> for children without attached markup in its siblings.
>>> >>
>>> >> Martijn
>>> >>
>>> >> On 4/5/08, Oliver Sawade <de...@gmx.de> wrote:
>>> >> > Hi everyone,
>>> >> > my first mail to the list, i hope this wasn`t answered million
>>> times
>>> >> > before, but the wicket users faq is empty so i couldn`t find it
>>> there ;)
>>> >> >
>>> >> > I'm using wicket1.3 to create a generic panel with the option to
>>> hide
>>> >> > everything inside when clicking an ajax-button. While the actual
>>> >> > hiding&showing works fine I'm having trouble with inheritance.
>>> >> > This example should show what I mean:
>>> >> >
>>> >> > This is my generic super panel (no ajax stuff in it here to show
>>> the
>>> >> > essential problem). The idea is, that the childContainer is set to
>>> >> > Visible:false when the button is clicked. All of this should happen
>>> in
>>> >> the
>>> >> > super class, so i don't have to care about it in the child class:
>>> >> >
>>> >> > public class testSuperPanel extends Panel {
>>> >> > public testSuperPanel(String id) {
>>> >> > super(id);
>>> >> > add(new WebMarkupContainer("childContainer"));
>>> >> > }
>>> >> > }
>>> >> >
>>> >> > The markup for testSuperPanel:
>>> >> > <wicket:panel>
>>> >> > <div wicket:id="childContainer">
>>> >> > <wicket:child/>
>>> >> > </div>
>>> >> > </wicket:panel>
>>> >> >
>>> >> > This is a sample child panel:
>>> >> >
>>> >> > public class testChildPanel extends testSuperPanel {
>>> >> > public testChildPanel(String id) {
>>> >> > super(id);
>>> >> > add(new Label("childLabel","Test!"));
>>> >> > }
>>> >> > }
>>> >> >
>>> >> > and the Markup:
>>> >> > <wicket:extend>
>>> >> > <span wicket:id="childLabel"></span>
>>> >> > </wicket:extend>
>>> >> >
>>> >> > As you see, it should simply display "Test" inside a
>>> MarkupContainer
>>> >> (which
>>> >> > could be hidden from the superClass). When i try to display this
>>> Panel
>>> >> > however I get an Exception stating that no code is added for the
>>> Label
>>> >> > "childLabel"!
>>> >> > This can be solved by adding the childLabel to the container in the
>>> >> > superClass, but thats obviously not the way it is meant to be:
>>> >> >
>>> >> > public class testSuperPanel extends Panel {
>>> >> > public testSuperPanel(String id) {
>>> >> > super(id);
>>> >> > WebMarkupContainer wmc = new
>>> >> > WebMarkupContainer("childContainer");
>>> >> > wmc.add(new Label("childLabel","Test!"));
>>> >> > add(wmc);
>>> >> > }
>>> >> > }
>>> >> >
>>> >> > So, is this a wicket bug with inheritance inside containers or am I
>>> just
>>> >> > doing things the wrong way?
>>> >> >
>>> >> > Thanks for your help!
>>> >> > best regards, Oli
>>> >> >
>>> >> >
>>> ---------------------------------------------------------------------
>>> >> > To unsubscribe, e-mail:
>>> >> > users-unsubscribe@wicket.apache.org
>>> >> > For additional commands, e-mail: users-help@wicket.apache.org
>>> >> >
>>> >> >
>>> >>
>>> >>
>>> >> --
>>> >> Buy Wicket in Action: http://manning.com/dashorst
>>> >> Apache Wicket 1.3.2 is released
>>> >> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>> >> For additional commands, e-mail: users-help@wicket.apache.org
>>> >>
>>> >>
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>
>>>
>>
>
Re: Inheritance inside a Container
Posted by smallufo <sm...@gmail.com>.
Well , let me describe more detail....
When the user enters the page , he can successfully show/hide the content
(ChildPanel) without problems.
The state is stored in wicket's session.
If the ChildPanel is "open"(expand/show) , and he reloads the page ,
everything works fine.
BUT...
If he "close" (collapse/hide) the ChildPanel , and reloads the page , the
runtimeException is thrown.
I don't know how to solve this problem...
2008/6/20 smallufo <sm...@gmail.com>:
> Hi...
>
> I am using 1.3.3
>
> 2008/6/20 Maurice Marrink <ma...@gmail.com>:
>
> What wicket version are you on? There was a bug about this but is has
>> long been fixed. https://issues.apache.org/jira/browse/WICKET-1095
>>
>> Maurice
>>
>> On Thu, Jun 19, 2008 at 9:40 PM, smallufo <sm...@gmail.com> wrote:
>> > Hello ,
>> > I had exactly the same problem , and solved by searching to this post.
>> > Thanks a lot.
>> >
>> > BUT , today , I have another problem...
>> >
>> > Today , the ChildPanel can accept a new parameter : boolean
>> defaultVisible
>> > if true , the content will be shown;
>> > if false , the content will be invisible , only the title bar is
>> visible.
>> > The title bar is defined in ParentPanel , containing a title label and a
>> > "expand/collapse" ajax link (a toggle).
>> >
>> > Here comes the problem.
>> > In the ChildPanel , if I write :
>> > setVisible(defaultVisible);
>> > and if the defaultVisible is false , the whole panel , including
>> ParentPanel
>> > (including title bar) will be invisible;
>> > This makes users unable to make it re-appear.
>> >
>> > However , if I write code like this :
>> > get("content").setVisible(defaultVisible);
>> > ("content" is the WebMarkupContainer defined in ParentPanel returning
>> > isTransparentResolver() TRUE)
>> >
>> > It will throw WicketRuntimeException while
>> > org.apache.wicket.Page.checkRendering
>> > org.apache.wicket.WicketRuntimeException: The component(s) below failed
>> to
>> > render. A common problem is that you have added a component in code but
>> > forgot to reference it in the markup (thus the component will never be
>> > rendered).
>> >
>> > How to solve it ?
>> >
>> >
>> >
>> >
>> >
>> >
>> > 2008/4/6 Martijn Dashorst <ma...@gmail.com>:
>> >
>> >> You should do this:
>> >>
>> >> WMC wmc = new WMC("childContainer") {
>> >> @override boolean isTransparentResolver() { return true; }
>> >> };
>> >>
>> >> This is not a bug. If you do add() in the subclass's constructor, you
>> >> add to the page itself. Which is how the hierarchy is constructed. By
>> >> telling the WMC that it is a transparent resolver, you tell it to look
>> >> for children without attached markup in its siblings.
>> >>
>> >> Martijn
>> >>
>> >> On 4/5/08, Oliver Sawade <de...@gmx.de> wrote:
>> >> > Hi everyone,
>> >> > my first mail to the list, i hope this wasn`t answered million times
>> >> > before, but the wicket users faq is empty so i couldn`t find it there
>> ;)
>> >> >
>> >> > I'm using wicket1.3 to create a generic panel with the option to
>> hide
>> >> > everything inside when clicking an ajax-button. While the actual
>> >> > hiding&showing works fine I'm having trouble with inheritance.
>> >> > This example should show what I mean:
>> >> >
>> >> > This is my generic super panel (no ajax stuff in it here to show the
>> >> > essential problem). The idea is, that the childContainer is set to
>> >> > Visible:false when the button is clicked. All of this should happen
>> in
>> >> the
>> >> > super class, so i don't have to care about it in the child class:
>> >> >
>> >> > public class testSuperPanel extends Panel {
>> >> > public testSuperPanel(String id) {
>> >> > super(id);
>> >> > add(new WebMarkupContainer("childContainer"));
>> >> > }
>> >> > }
>> >> >
>> >> > The markup for testSuperPanel:
>> >> > <wicket:panel>
>> >> > <div wicket:id="childContainer">
>> >> > <wicket:child/>
>> >> > </div>
>> >> > </wicket:panel>
>> >> >
>> >> > This is a sample child panel:
>> >> >
>> >> > public class testChildPanel extends testSuperPanel {
>> >> > public testChildPanel(String id) {
>> >> > super(id);
>> >> > add(new Label("childLabel","Test!"));
>> >> > }
>> >> > }
>> >> >
>> >> > and the Markup:
>> >> > <wicket:extend>
>> >> > <span wicket:id="childLabel"></span>
>> >> > </wicket:extend>
>> >> >
>> >> > As you see, it should simply display "Test" inside a MarkupContainer
>> >> (which
>> >> > could be hidden from the superClass). When i try to display this
>> Panel
>> >> > however I get an Exception stating that no code is added for the
>> Label
>> >> > "childLabel"!
>> >> > This can be solved by adding the childLabel to the container in the
>> >> > superClass, but thats obviously not the way it is meant to be:
>> >> >
>> >> > public class testSuperPanel extends Panel {
>> >> > public testSuperPanel(String id) {
>> >> > super(id);
>> >> > WebMarkupContainer wmc = new
>> >> > WebMarkupContainer("childContainer");
>> >> > wmc.add(new Label("childLabel","Test!"));
>> >> > add(wmc);
>> >> > }
>> >> > }
>> >> >
>> >> > So, is this a wicket bug with inheritance inside containers or am I
>> just
>> >> > doing things the wrong way?
>> >> >
>> >> > Thanks for your help!
>> >> > best regards, Oli
>> >> >
>> >> > ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail:
>> >> > users-unsubscribe@wicket.apache.org
>> >> > For additional commands, e-mail: users-help@wicket.apache.org
>> >> >
>> >> >
>> >>
>> >>
>> >> --
>> >> Buy Wicket in Action: http://manning.com/dashorst
>> >> Apache Wicket 1.3.2 is released
>> >> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> >> For additional commands, e-mail: users-help@wicket.apache.org
>> >>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
Re: Inheritance inside a Container
Posted by smallufo <sm...@gmail.com>.
Hi...
I am using 1.3.3
2008/6/20 Maurice Marrink <ma...@gmail.com>:
> What wicket version are you on? There was a bug about this but is has
> long been fixed. https://issues.apache.org/jira/browse/WICKET-1095
>
> Maurice
>
> On Thu, Jun 19, 2008 at 9:40 PM, smallufo <sm...@gmail.com> wrote:
> > Hello ,
> > I had exactly the same problem , and solved by searching to this post.
> > Thanks a lot.
> >
> > BUT , today , I have another problem...
> >
> > Today , the ChildPanel can accept a new parameter : boolean
> defaultVisible
> > if true , the content will be shown;
> > if false , the content will be invisible , only the title bar is visible.
> > The title bar is defined in ParentPanel , containing a title label and a
> > "expand/collapse" ajax link (a toggle).
> >
> > Here comes the problem.
> > In the ChildPanel , if I write :
> > setVisible(defaultVisible);
> > and if the defaultVisible is false , the whole panel , including
> ParentPanel
> > (including title bar) will be invisible;
> > This makes users unable to make it re-appear.
> >
> > However , if I write code like this :
> > get("content").setVisible(defaultVisible);
> > ("content" is the WebMarkupContainer defined in ParentPanel returning
> > isTransparentResolver() TRUE)
> >
> > It will throw WicketRuntimeException while
> > org.apache.wicket.Page.checkRendering
> > org.apache.wicket.WicketRuntimeException: The component(s) below failed
> to
> > render. A common problem is that you have added a component in code but
> > forgot to reference it in the markup (thus the component will never be
> > rendered).
> >
> > How to solve it ?
> >
> >
> >
> >
> >
> >
> > 2008/4/6 Martijn Dashorst <ma...@gmail.com>:
> >
> >> You should do this:
> >>
> >> WMC wmc = new WMC("childContainer") {
> >> @override boolean isTransparentResolver() { return true; }
> >> };
> >>
> >> This is not a bug. If you do add() in the subclass's constructor, you
> >> add to the page itself. Which is how the hierarchy is constructed. By
> >> telling the WMC that it is a transparent resolver, you tell it to look
> >> for children without attached markup in its siblings.
> >>
> >> Martijn
> >>
> >> On 4/5/08, Oliver Sawade <de...@gmx.de> wrote:
> >> > Hi everyone,
> >> > my first mail to the list, i hope this wasn`t answered million times
> >> > before, but the wicket users faq is empty so i couldn`t find it there
> ;)
> >> >
> >> > I'm using wicket1.3 to create a generic panel with the option to hide
> >> > everything inside when clicking an ajax-button. While the actual
> >> > hiding&showing works fine I'm having trouble with inheritance.
> >> > This example should show what I mean:
> >> >
> >> > This is my generic super panel (no ajax stuff in it here to show the
> >> > essential problem). The idea is, that the childContainer is set to
> >> > Visible:false when the button is clicked. All of this should happen in
> >> the
> >> > super class, so i don't have to care about it in the child class:
> >> >
> >> > public class testSuperPanel extends Panel {
> >> > public testSuperPanel(String id) {
> >> > super(id);
> >> > add(new WebMarkupContainer("childContainer"));
> >> > }
> >> > }
> >> >
> >> > The markup for testSuperPanel:
> >> > <wicket:panel>
> >> > <div wicket:id="childContainer">
> >> > <wicket:child/>
> >> > </div>
> >> > </wicket:panel>
> >> >
> >> > This is a sample child panel:
> >> >
> >> > public class testChildPanel extends testSuperPanel {
> >> > public testChildPanel(String id) {
> >> > super(id);
> >> > add(new Label("childLabel","Test!"));
> >> > }
> >> > }
> >> >
> >> > and the Markup:
> >> > <wicket:extend>
> >> > <span wicket:id="childLabel"></span>
> >> > </wicket:extend>
> >> >
> >> > As you see, it should simply display "Test" inside a MarkupContainer
> >> (which
> >> > could be hidden from the superClass). When i try to display this Panel
> >> > however I get an Exception stating that no code is added for the Label
> >> > "childLabel"!
> >> > This can be solved by adding the childLabel to the container in the
> >> > superClass, but thats obviously not the way it is meant to be:
> >> >
> >> > public class testSuperPanel extends Panel {
> >> > public testSuperPanel(String id) {
> >> > super(id);
> >> > WebMarkupContainer wmc = new
> >> > WebMarkupContainer("childContainer");
> >> > wmc.add(new Label("childLabel","Test!"));
> >> > add(wmc);
> >> > }
> >> > }
> >> >
> >> > So, is this a wicket bug with inheritance inside containers or am I
> just
> >> > doing things the wrong way?
> >> >
> >> > Thanks for your help!
> >> > best regards, Oli
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail:
> >> > users-unsubscribe@wicket.apache.org
> >> > For additional commands, e-mail: users-help@wicket.apache.org
> >> >
> >> >
> >>
> >>
> >> --
> >> Buy Wicket in Action: http://manning.com/dashorst
> >> Apache Wicket 1.3.2 is released
> >> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> For additional commands, e-mail: users-help@wicket.apache.org
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
Re: Inheritance inside a Container
Posted by Maurice Marrink <ma...@gmail.com>.
What wicket version are you on? There was a bug about this but is has
long been fixed. https://issues.apache.org/jira/browse/WICKET-1095
Maurice
On Thu, Jun 19, 2008 at 9:40 PM, smallufo <sm...@gmail.com> wrote:
> Hello ,
> I had exactly the same problem , and solved by searching to this post.
> Thanks a lot.
>
> BUT , today , I have another problem...
>
> Today , the ChildPanel can accept a new parameter : boolean defaultVisible
> if true , the content will be shown;
> if false , the content will be invisible , only the title bar is visible.
> The title bar is defined in ParentPanel , containing a title label and a
> "expand/collapse" ajax link (a toggle).
>
> Here comes the problem.
> In the ChildPanel , if I write :
> setVisible(defaultVisible);
> and if the defaultVisible is false , the whole panel , including ParentPanel
> (including title bar) will be invisible;
> This makes users unable to make it re-appear.
>
> However , if I write code like this :
> get("content").setVisible(defaultVisible);
> ("content" is the WebMarkupContainer defined in ParentPanel returning
> isTransparentResolver() TRUE)
>
> It will throw WicketRuntimeException while
> org.apache.wicket.Page.checkRendering
> org.apache.wicket.WicketRuntimeException: The component(s) below failed to
> render. A common problem is that you have added a component in code but
> forgot to reference it in the markup (thus the component will never be
> rendered).
>
> How to solve it ?
>
>
>
>
>
>
> 2008/4/6 Martijn Dashorst <ma...@gmail.com>:
>
>> You should do this:
>>
>> WMC wmc = new WMC("childContainer") {
>> @override boolean isTransparentResolver() { return true; }
>> };
>>
>> This is not a bug. If you do add() in the subclass's constructor, you
>> add to the page itself. Which is how the hierarchy is constructed. By
>> telling the WMC that it is a transparent resolver, you tell it to look
>> for children without attached markup in its siblings.
>>
>> Martijn
>>
>> On 4/5/08, Oliver Sawade <de...@gmx.de> wrote:
>> > Hi everyone,
>> > my first mail to the list, i hope this wasn`t answered million times
>> > before, but the wicket users faq is empty so i couldn`t find it there ;)
>> >
>> > I'm using wicket1.3 to create a generic panel with the option to hide
>> > everything inside when clicking an ajax-button. While the actual
>> > hiding&showing works fine I'm having trouble with inheritance.
>> > This example should show what I mean:
>> >
>> > This is my generic super panel (no ajax stuff in it here to show the
>> > essential problem). The idea is, that the childContainer is set to
>> > Visible:false when the button is clicked. All of this should happen in
>> the
>> > super class, so i don't have to care about it in the child class:
>> >
>> > public class testSuperPanel extends Panel {
>> > public testSuperPanel(String id) {
>> > super(id);
>> > add(new WebMarkupContainer("childContainer"));
>> > }
>> > }
>> >
>> > The markup for testSuperPanel:
>> > <wicket:panel>
>> > <div wicket:id="childContainer">
>> > <wicket:child/>
>> > </div>
>> > </wicket:panel>
>> >
>> > This is a sample child panel:
>> >
>> > public class testChildPanel extends testSuperPanel {
>> > public testChildPanel(String id) {
>> > super(id);
>> > add(new Label("childLabel","Test!"));
>> > }
>> > }
>> >
>> > and the Markup:
>> > <wicket:extend>
>> > <span wicket:id="childLabel"></span>
>> > </wicket:extend>
>> >
>> > As you see, it should simply display "Test" inside a MarkupContainer
>> (which
>> > could be hidden from the superClass). When i try to display this Panel
>> > however I get an Exception stating that no code is added for the Label
>> > "childLabel"!
>> > This can be solved by adding the childLabel to the container in the
>> > superClass, but thats obviously not the way it is meant to be:
>> >
>> > public class testSuperPanel extends Panel {
>> > public testSuperPanel(String id) {
>> > super(id);
>> > WebMarkupContainer wmc = new
>> > WebMarkupContainer("childContainer");
>> > wmc.add(new Label("childLabel","Test!"));
>> > add(wmc);
>> > }
>> > }
>> >
>> > So, is this a wicket bug with inheritance inside containers or am I just
>> > doing things the wrong way?
>> >
>> > Thanks for your help!
>> > best regards, Oli
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail:
>> > users-unsubscribe@wicket.apache.org
>> > For additional commands, e-mail: users-help@wicket.apache.org
>> >
>> >
>>
>>
>> --
>> Buy Wicket in Action: http://manning.com/dashorst
>> Apache Wicket 1.3.2 is released
>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org