Something for the wiki component reference?

Regards,
   Erik.


Stefan Simik wrote:
Example for AjaxTabbedPanel:

1. create new Link with image - different for selected and different for
unselected tab

MyAjaxFallbackLink.java

------------------------------------------------


public class MyAjaxFallbackLink extends AjaxFallbackLink {

        public MyAjaxFallbackLink(String id, boolean isSelectedTab) {
                super(id);

                Image image;

                if (isSelectedTab){
                        image = new Image("image", new
ResourceReference(MyAjaxFallbackLink.class, "inner-image_selected.gif"));
                }else{
                        image = new Image("image", new
ResourceReference(MyAjaxFallbackLink.class, "inner-image_unselected.gif"));
                }
                
                add(image);
                
        }

        public void onClick(AjaxRequestTarget target) {
                //really nothing here -> to override
        }
}



2. override newLink() in AjaxTabbedPanel to return your link

MyAjaxTabbedPanel.java

------------------------------------------------


public class MyAjaxTabbedPanel extends AjaxTabbedPanel {

        public MyAjaxTabbedPanel(String id, List tabs) {
                super(id, tabs);
                setSelectedTab(0);     //make sure, the first selected tab has 
index=0.
Important for image in first selected tab!
        }

        protected WebMarkupContainer newLink(String linkId, final int index) {
                int selectedTab = getSelectedTab();
                boolean selected = (index == selectedTab);
                
                return new MyAjaxFallbackLink(linkId, selected)
                {
                        private static final long serialVersionUID = 1L;

                        public void onClick(AjaxRequestTarget target)
                        {
                                setSelectedTab(index);
                                if (target != null)
                                {
                                        
target.addComponent(MyAjaxTabbedPanel.this);
                                }
                                onAjaxUpdate(target);
                        }
}; }

}




3. copy html code from TabbedPanel.html and extend with image to pass
hierarchy

MyAjaxTabbedPanel.html
------------------------------------------------


<wicket:panel>

<div wicket:id="tabs-container" class="tab-row">
<ul>
        <li wicket:id="tabs">
                <a href="#" wicket:id="link"><img wicket:id="image"
class="left-image"/><span wicket:id="title">[[tab
title]]</span></a>
        </li>
</ul>
</div>
<div wicket:id="panel" class="tab-panel">[panel]</div>





--
Erik van Oosten
http://2008.rubyenrails.nl/
http://day-to-day-stuff.blogspot.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to