wicket-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeffrey Schneller <jeffrey.schnel...@envisa.com>
Subject RE: Event handling and swapping panels
Date Wed, 28 Mar 2012 19:15:17 GMT
Thanks.  But what does OuterPanelClass refer to in my example? 

I don't think either of these are right:

MyEmptyPanel.this.panel.replaceWith(replacement);
-or-
MyPage.this.panel.replaceWith(replacement);

Or do I need to define workingPanel as a private member of my page class and then have:

MyPage.this.workingPanel.replaceWith(replacement);
MyPage.this.workingPanel = replacement;






-----Original Message-----
From: Igor Vaynberg [mailto:igor.vaynberg@gmail.com] 
Sent: Wednesday, March 28, 2012 3:07 PM
To: users@wicket.apache.org
Subject: Re: Event handling and swapping panels

OuterPanelClass.this.panel.replaceWith(replacement);
OuterPanelClass.this.panel=replacement;

-igor

On Wed, Mar 28, 2012 at 11:33 AM, Jeffrey Schneller <jeffrey.schneller@envisa.com> wrote:
> I want to swap panels using the event model in 1.5.  This is very similar to the panel
swapping code (wicket 1.4.x)  found in the Apache Wicket Cookbook but uses the event model
instead.  The problem is I can't set the panel equal to its replacement, like you would in
1.4.x.  This is found on the line marked ***** THIS IS NOT POSSIBLE *****.
>
> How would you go about doing this?  Is it even possible?
>
> Component workingPanel = new MyEmptyPanel("workingPanel") {
>                @Override
>                public void onEvent(IEvent<?> event) {
>                                                if (event.getPayload()

> instanceof MyPanelEvent) {
>                                                          
     
> MyPanelEvent e = (MyPanelEvent) event.getPayload();
>
>                                                Component replacement;
>                                                          
     switch 
> (e.getType()) {
>
>                                                          
     case MyPanelEvent.PANEL1:
>                                                          
                     
> replacement = new MyFirstPanel(this.getId());
>                                                          
     break;
>                                                default:
>                                                          
     
> replacement = this;
>                                                          
     break;
>                                                          
     }
>                                                
> this.replaceWith(replacement);
>                                                this. = replacement;
                      
> // ****** THIS IS NOT POSSIBLE - HOW WOULD I DO THIS *******
>                                                
> this.setOutputMarkupId(true);
>                                                AjaxRequestTarget

> target = e.getTarget();
>                                                target.add(this);
>                                }
>                                super.onEvent(event);
>                }
> workingPanel.setOutputMarkupId(true);
> add(workingPanel);
>
> AjaxLink firsttab = new AjaxLink("firsttab") {
>                @Override
>                public void onClick(AjaxRequestTarget target) {
>                                send(getPage(), Broadcast.BREADTH, new

> MyPanelEvent (target, MyPanelEvent.PANEL1));
>                }
> };
> firsttab.setOutputMarkupId(true);
> firsttab.setMarkupId("firsttab ");
> add(firsttab);
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Mime
View raw message