Re: [Wicket-user] Wrap a component through a visitor?
If I have markup as such: div wicket:id=myParent input type=submit wicket:id=myButton/ /div My goal is to have output as such: div wicket:id=myParent div class=foo input type=submit wicket:id=myButton/ /div /div I'm basically trying to wrap the button component with some markup via a visitor. What it get's wrapped with wouldn't need to have any logic with it, it could be a simple string prepend/append. Cheers, -js On 11/10/06, Igor Vaynberg [EMAIL PROTECTED] wrote: not at that time. during the render phase you are not allowed to modify component hierarchy. try doing it in onattach instead. in 2.0 you will need to use a different pattern - we havent built the reparenting mechanism in 2.0 yet - still figuring out what the simplest way is. -igor On 11/10/06, Jonathan Sharp [EMAIL PROTECTED] wrote: Is it possible to take a component such as a Button and make it a child of a new component so as to wrap it? class MyPage extends WebPage { add(new Button(myButton)); public void onBeforeRender() { visitChildren(new MyVisitor()); } } class MyVisitor implements IVisitor { public void component(Component c) { if (c instanceof Button) { WebMarkup wm = new WebMarkup(); c.replaceWith(wm); wm.add(c); } } } Cheers, -js - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Wrap a component through a visitor?
the problem with doing this through components is that your markup hierarchy will be out of sync with your java one.what you can try is making myParent a AbstractOutputTransformerContainer and then doing string manip in the transform() method by wrapping the output. its not purty, but it will workor you can just add class=foo to myParent via an attribute modifier and save a lot of trouble :)-igorOn 11/13/06, Jonathan Sharp [EMAIL PROTECTED] wrote: If I have markup as such:div wicket:id=myParentinput type=submit wicket:id=myButton//divMy goal is to have output as such:div wicket:id=myParent div class=fooinput type=submit wicket:id=myButton//div/divI'm basically trying to wrap the button component with some markup via a visitor. What it get's wrapped with wouldn't need to have any logicwith it, it could be a simple string prepend/append.Cheers,-jsOn 11/10/06, Igor Vaynberg [EMAIL PROTECTED] wrote: not at that time. during the render phase you are not allowed to modify component hierarchy. try doing it in onattach instead. in 2.0 you will need to use a different pattern - we havent built the reparenting mechanism in 2.0 yet - still figuring out what the simplest way is. -igor On 11/10/06, Jonathan Sharp [EMAIL PROTECTED] wrote: Is it possible to take a component such as a Button and make it a child of a new component so as to wrap it? class MyPage extends WebPage { add(new Button(myButton)); public void onBeforeRender() { visitChildren(new MyVisitor()); } } class MyVisitor implements IVisitor { public void component(Component c) { if (c instanceof Button) { WebMarkup wm = new WebMarkup(); c.replaceWith(wm); wm.add(c); } } } Cheers, -js - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user- Using Tomcat but need to do more? Need to support web services, security?Get stuff done quickly with pre-integrated technology to make your job easierDownload IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ Wicket-user mailing listWicket-user@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Wrap a component through a visitor?
if you just want div around the button MyButtonyou can use a border i guess (i don't like the current borders to much i would like to make them like swing borders)butButton myButton = new Button(myButton) { protected void onRender(MarkupStream stream) { getResponse().write(div class=foo); super.onRender(stream); getResponse().write(/div); }}Thats how borders should work i guessWhat i would like to have is:MyBorder border = new MyBorder();MyBorder.htmlwicket:borderdiv class=foo wicket:component//div/wicket:borderand thenButton myButton = new Button();myButton.setBorder(new MyBorder());johan On 11/13/06, Jonathan Sharp [EMAIL PROTECTED] wrote: If I have markup as such:div wicket:id=myParentinput type=submit wicket:id=myButton//divMy goal is to have output as such:div wicket:id=myParent div class=fooinput type=submit wicket:id=myButton//div/divI'm basically trying to wrap the button component with some markup via a visitor. What it get's wrapped with wouldn't need to have any logicwith it, it could be a simple string prepend/append.Cheers,-jsOn 11/10/06, Igor Vaynberg [EMAIL PROTECTED] wrote: not at that time. during the render phase you are not allowed to modify component hierarchy. try doing it in onattach instead. in 2.0 you will need to use a different pattern - we havent built the reparenting mechanism in 2.0 yet - still figuring out what the simplest way is. -igor On 11/10/06, Jonathan Sharp [EMAIL PROTECTED] wrote: Is it possible to take a component such as a Button and make it a child of a new component so as to wrap it? class MyPage extends WebPage { add(new Button(myButton)); public void onBeforeRender() { visitChildren(new MyVisitor()); } } class MyVisitor implements IVisitor { public void component(Component c) { if (c instanceof Button) { WebMarkup wm = new WebMarkup(); c.replaceWith(wm); wm.add(c); } } } Cheers, -js - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user- Using Tomcat but need to do more? Need to support web services, security?Get stuff done quickly with pre-integrated technology to make your job easierDownload IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ Wicket-user mailing listWicket-user@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Wrap a component through a visitor?
i like how borders work. borders can contain multiple components, with your way it can only contain one. so maybe you introduce a ComponentBorder or some such-igorOn 11/13/06, Johan Compagner [EMAIL PROTECTED] wrote: if you just want div around the button MyButtonyou can use a border i guess (i don't like the current borders to much i would like to make them like swing borders)butButton myButton = new Button(myButton) { protected void onRender(MarkupStream stream) { getResponse().write(div class=foo); super.onRender(stream); getResponse().write(/div); }}Thats how borders should work i guessWhat i would like to have is:MyBorder border = new MyBorder();MyBorder.htmlwicket:borderdiv class=foo wicket:component//div/wicket:borderand thenButton myButton = new Button();myButton.setBorder(new MyBorder());johan On 11/13/06, Jonathan Sharp [EMAIL PROTECTED] wrote: If I have markup as such:div wicket:id=myParentinput type=submit wicket:id=myButton//divMy goal is to have output as such:div wicket:id=myParent div class=fooinput type=submit wicket:id=myButton//div/divI'm basically trying to wrap the button component with some markup via a visitor. What it get's wrapped with wouldn't need to have any logicwith it, it could be a simple string prepend/append.Cheers,-jsOn 11/10/06, Igor Vaynberg [EMAIL PROTECTED] wrote: not at that time. during the render phase you are not allowed to modify component hierarchy. try doing it in onattach instead. in 2.0 you will need to use a different pattern - we havent built the reparenting mechanism in 2.0 yet - still figuring out what the simplest way is. -igor On 11/10/06, Jonathan Sharp [EMAIL PROTECTED] wrote: Is it possible to take a component such as a Button and make it a child of a new component so as to wrap it? class MyPage extends WebPage { add(new Button(myButton)); public void onBeforeRender() { visitChildren(new MyVisitor()); } } class MyVisitor implements IVisitor { public void component(Component c) { if (c instanceof Button) { WebMarkup wm = new WebMarkup(); c.replaceWith(wm); wm.add(c); } } } Cheers, -js - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security?Get stuff done quickly with pre-integrated technology to make your job easierDownload IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing listWicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user -Using Tomcat but need to do more? Need to support web services, security?Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___Wicket-user mailing list Wicket-user@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Wrap a component through a visitor?
thats is exactly how swing worksI have always find the wicket borders counter intuitive . (border contains/has components instead of a component has a border)But i don't say lets replace the current border thing. But maybe add IComponentBorder to wicket 2.0And yes if you then want to wrap multiply components then you have to do it like swing, add first those in a markup container/paneljohan On 11/13/06, Igor Vaynberg [EMAIL PROTECTED] wrote: i like how borders work. borders can contain multiple components, with your way it can only contain one. so maybe you introduce a ComponentBorder or some such-igor On 11/13/06, Johan Compagner [EMAIL PROTECTED] wrote: if you just want div around the button MyButtonyou can use a border i guess (i don't like the current borders to much i would like to make them like swing borders)butButton myButton = new Button(myButton) { protected void onRender(MarkupStream stream) { getResponse().write(div class=foo); super.onRender(stream); getResponse().write(/div); }}Thats how borders should work i guessWhat i would like to have is:MyBorder border = new MyBorder();MyBorder.htmlwicket:borderdiv class=foo wicket:component//div/wicket:borderand thenButton myButton = new Button();myButton.setBorder(new MyBorder());johan On 11/13/06, Jonathan Sharp [EMAIL PROTECTED] wrote: If I have markup as such:div wicket:id=myParentinput type=submit wicket:id=myButton//divMy goal is to have output as such:div wicket:id=myParent div class=fooinput type=submit wicket:id=myButton//div/divI'm basically trying to wrap the button component with some markup via a visitor. What it get's wrapped with wouldn't need to have any logicwith it, it could be a simple string prepend/append.Cheers,-jsOn 11/10/06, Igor Vaynberg [EMAIL PROTECTED] wrote: not at that time. during the render phase you are not allowed to modify component hierarchy. try doing it in onattach instead. in 2.0 you will need to use a different pattern - we havent built the reparenting mechanism in 2.0 yet - still figuring out what the simplest way is. -igor On 11/10/06, Jonathan Sharp [EMAIL PROTECTED] wrote: Is it possible to take a component such as a Button and make it a child of a new component so as to wrap it? class MyPage extends WebPage { add(new Button(myButton)); public void onBeforeRender() { visitChildren(new MyVisitor()); } } class MyVisitor implements IVisitor { public void component(Component c) { if (c instanceof Button) { WebMarkup wm = new WebMarkup(); c.replaceWith(wm); wm.add(c); } } } Cheers, -js - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security?Get stuff done quickly with pre-integrated technology to make your job easierDownload IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Wicket-user mailing listWicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user -Using Tomcat but need to do more? Need to support web services, security?Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___Wicket-user mailing list Wicket-user@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/wicket-user -Using Tomcat but need to do more? Need to support web services, security?Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere
Re: [Wicket-user] Wrap a component through a visitor?
not at that time. during the render phase you are not allowed to modify component hierarchy. try doing it in onattach instead.in 2.0 you will need to use a different pattern - we havent built the reparenting mechanism in 2.0 yet - still figuring out what the simplest way is.-igorOn 11/10/06, Jonathan Sharp [EMAIL PROTECTED] wrote:Is it possible to take a component such as a Button and make it achild of a new component so as to wrap it? class MyPage extends WebPage {add(new Button(myButton));public void onBeforeRender() {visitChildren(new MyVisitor());}}class MyVisitor implements IVisitor { public void component(Component c) {if (c instanceof Button) {WebMarkup wm = new WebMarkup();c.replaceWith(wm);wm.add(c);}}} Cheers,-js-Using Tomcat but need to do more? Need to support web services, security?Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimohttp://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___Wicket-user mailing listWicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user