Author: jdonnerstag
Date: Wed Apr  8 07:12:40 2009
New Revision: 763126

URL: http://svn.apache.org/viewvc?rev=763126&view=rev
Log:
fixed WICKET-2153 TabbedPanel accepts only ITab(s)

Modified:
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java?rev=763126&r1=763125&r2=763126&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tabs/TabbedPanel.java
 Wed Apr  8 07:12:40 2009
@@ -35,49 +35,34 @@
 /**
  * TabbedPanel component represets a panel with tabs that are used to switch 
between different
  * content panels inside the TabbedPanel panel.
- * 
  * <p>
- * <b>Note:</b> When the currently selected tab is replaced by changing the 
underlying list of
- * tabs, the change is not picked up unless a call is made to {...@link 
#setSelectedTab(int)}.
+ * <b>Note:</b> When the currently selected tab is replaced by changing the 
underlying list of tabs,
+ * the change is not picked up unless a call is made to {...@link 
#setSelectedTab(int)}.
  * <p>
- * 
  * Example:
  * 
  * <pre>
- * 
  * List tabs=new ArrayList();
- * 
  * tabs.add(new AbstractTab(new Model&lt;String&gt;(&quot;first tab&quot;)) {
- * 
  *   public Panel getPanel(String panelId)
  *   {
  *     return new TabPanel1(panelId);
  *   }
- * 
  * });
  * 
  * tabs.add(new AbstractTab(new Model&lt;String&gt;(&quot;second tab&quot;)) {
- * 
  *   public Panel getPanel(String panelId)
  *   {
  *     return new TabPanel2(panelId);
  *   }
- * 
  * });
  * 
  * add(new TabbedPanel(&quot;tabs&quot;, tabs));
  * 
- * 
  * &lt;span wicket:id=&quot;tabs&quot; class=&quot;tabpanel&quot;&gt;[tabbed 
panel will be here]&lt;/span&gt;
- * 
- * 
  * </pre>
- * 
- * </p>
- * 
  * <p>
  * For a complete example see the component references in wicket-examples 
project
- * </p>
  * 
  * @see org.apache.wicket.extensions.markup.html.tabs.ITab
  * 
@@ -88,13 +73,10 @@
 {
        private static final long serialVersionUID = 1L;
 
-       /**
-        * id used for child panels
-        */
+       /** id used for child panels */
        public static final String TAB_PANEL_ID = "panel";
 
-
-       private final List<ITab> tabs;
+       private final List<? extends ITab> tabs;
 
        private transient Boolean[] tabsVisibilityCache;
 
@@ -106,7 +88,7 @@
         * @param tabs
         *            list of ITab objects used to represent tabs
         */
-       public TabbedPanel(String id, List<ITab> tabs)
+       public TabbedPanel(String id, List<? extends ITab> tabs)
        {
                super(id, new Model<Integer>(new Integer(-1)));
 
@@ -163,11 +145,9 @@
                        {
                                return newTabContainer(iteration);
                        }
-
                });
        }
 
-
        /**
         * Generates a loop item used to represent a specific tab's 
<code>li</code> element.
         * 
@@ -207,12 +187,12 @@
                        {
                                return getTabs().get(tabIndex).isVisible();
                        }
-
                };
        }
 
-
-       // @see org.apache.wicket.Component#onAttach()
+       /**
+        * @see org.apache.wicket.Component#onBeforeRender()
+        */
        @Override
        protected void onBeforeRender()
        {
@@ -258,7 +238,7 @@
        /**
         * @return list of tabs that can be used by the user to 
add/remove/reorder tabs in the panel
         */
-       public final List<ITab> getTabs()
+       public final List<? extends ITab> getTabs()
        {
                return tabs;
        }
@@ -280,7 +260,6 @@
                return new Label(titleId, titleModel);
        }
 
-
        /**
         * Factory method for links used to switch between tabs.
         * 
@@ -347,7 +326,6 @@
 
                final Component component;
 
-
                if (tabs.size() == 0 || !isTabVisible(index))
                {
                        // no tabs or the currently selected tab is not visible
@@ -366,7 +344,6 @@
                        }
                }
 
-
                if (!component.getId().equals(TAB_PANEL_ID))
                {
                        throw new WicketRuntimeException(
@@ -409,5 +386,4 @@
                tabsVisibilityCache = null;
                super.onDetach();
        }
-
 }


Reply via email to