Author: mgrigorov
Date: Mon Aug 22 12:55:09 2011
New Revision: 1160245

URL: http://svn.apache.org/viewvc?rev=1160245&view=rev
Log:
WICKET-3811 Using tree table leads to warnings in log


Added:
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractColumnsView.java
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTableItem.html
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTableItem.java
Removed:
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable$TreeFragment.html
Modified:
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/ColumnLocation.java
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/MiddleColumnsView.java
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/SideColumnsView.java
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.html
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java

Added: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractColumnsView.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractColumnsView.java?rev=1160245&view=auto
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractColumnsView.java
 (added)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/AbstractColumnsView.java
 Mon Aug 22 12:55:09 2011
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.extensions.markup.html.tree.table;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.tree.TreeNode;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+
+/**
+ * Common functionality for column views
+ */
+public abstract class AbstractColumnsView extends WebMarkupContainer
+{
+       protected final List<IColumn> columns = new ArrayList<IColumn>();
+
+       protected final List<Component> components = new ArrayList<Component>();
+
+       protected final TreeNode node;
+
+       protected final List<IRenderable> renderables = new 
ArrayList<IRenderable>();
+
+       /**
+        * The position where to put the column.
+        */
+       protected enum Position {
+               /**
+                * Put the column at the beginning of the table (left-hand side)
+                */
+               PREPEND,
+               /**
+                * Put the column at the end of the table (right-hand side)
+                */
+               APPEND;
+       }
+
+       /**
+        * Construct.
+        * 
+        * @param id
+        *            the component id
+        * @param node
+        *            The tree node
+        */
+       public AbstractColumnsView(String id, final TreeNode node)
+       {
+               super(id);
+
+               this.node = node;
+       }
+
+       /**
+        * Adds a column to be rendered at the right side of the table.
+        * 
+        * @param column
+        *            The column to add
+        * @param component
+        *            The component
+        * @param renderable
+        *            The renderer
+        */
+       public void addColumn(final IColumn column, Component component, final 
IRenderable renderable)
+       {
+               addColumn(column, component, renderable, Position.APPEND);
+       }
+
+       /**
+        * Adds a column to be rendered at the right side of the table.
+        * 
+        * @param column
+        *            The column to add
+        * @param component
+        *            The component
+        * @param renderable
+        *            The renderer
+        * @param position
+        *            where to put the column - at the right or left side
+        */
+       public void addColumn(final IColumn column, Component component, final 
IRenderable renderable,
+               Position position)
+       {
+               if (component != null)
+               {
+                       add(component);
+               }
+
+               if (column.isVisible())
+               {
+                       if (position == Position.APPEND)
+                       {
+                               columns.add(column);
+                               components.add(component);
+                               renderables.add(renderable);
+                       }
+                       else
+                       {
+                               columns.add(0, column);
+                               components.add(0, component);
+                               renderables.add(0, renderable);
+                       }
+               }
+       }
+
+}

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/ColumnLocation.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/ColumnLocation.java?rev=1160245&r1=1160244&r2=1160245&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/ColumnLocation.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/ColumnLocation.java
 Mon Aug 22 12:55:09 2011
@@ -35,7 +35,7 @@ import org.apache.wicket.util.lang.Enume
  * all available space between columns on the left and columns on the right. 
How this space is
  * divided between middle columns is determined by the <b>size</b>. In this 
case the size can be
  * understand as weight. Columns with bigger size take more space than columns 
with smaller size.
- * For example, if there are three columns and their sizes are 2, 1, 1, the 
first column thakes 50%
+ * For example, if there are three columns and their sizes are 2, 1, 1, the 
first column takes 50%
  * of the space and the second two columns take 25% each.</li>
  * </ul>
  * 
@@ -138,7 +138,7 @@ public class ColumnLocation implements I
        }
 
        /**
-        * Returns the allignment of this column.
+        * Returns the alignment of this column.
         * 
         * @return The alignment of this column
         */

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/MiddleColumnsView.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/MiddleColumnsView.java?rev=1160245&r1=1160244&r2=1160245&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/MiddleColumnsView.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/MiddleColumnsView.java
 Mon Aug 22 12:55:09 2011
@@ -17,16 +17,13 @@
 package org.apache.wicket.extensions.markup.html.tree.table;
 
 import java.text.NumberFormat;
-import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.List;
 import java.util.Locale;
 
 import javax.swing.tree.TreeNode;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.extensions.markup.html.tree.table.ColumnLocation.Unit;
-import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.request.Response;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.response.NullResponse;
@@ -38,18 +35,10 @@ import org.apache.wicket.response.NullRe
  * 
  * @author Matej Knopp
  */
-final class MiddleColumnsView extends WebMarkupContainer
+final class MiddleColumnsView extends AbstractColumnsView
 {
        private static final long serialVersionUID = 1L;
 
-       private final List<IColumn> columns = new ArrayList<IColumn>();
-
-       private final List<Component> components = new ArrayList<Component>();
-
-       private final TreeNode node;
-
-       private final List<IRenderable> renderables = new 
ArrayList<IRenderable>();
-
        private final boolean treeHasLeftColumn;
 
        /**
@@ -64,33 +53,11 @@ final class MiddleColumnsView extends We
         */
        public MiddleColumnsView(final String id, final TreeNode node, final 
boolean treeHasLeftColumn)
        {
-               super(id);
-               this.node = node;
+               super(id, node);
                this.treeHasLeftColumn = treeHasLeftColumn;
        }
 
        /**
-        * Adds a column to be rendered.
-        * 
-        * @param column
-        *            The column to render
-        * @param component
-        *            The component
-        * @param renderable
-        *            The renderer
-        */
-       public void addColumn(final IColumn column, final Component component,
-               final IRenderable renderable)
-       {
-               if (column.isVisible())
-               {
-                       columns.add(column);
-                       components.add(component);
-                       renderables.add(renderable);
-               }
-       }
-
-       /**
         * Computes the percentagle widths of columns. If a column spans over 
other columns, the widths
         * of those columns will be zero.
         * 
@@ -196,7 +163,7 @@ final class MiddleColumnsView extends We
 
                NumberFormat nf = 
NumberFormat.getNumberInstance(Locale.ENGLISH);
                nf.setMaximumFractionDigits(0);
-               nf.setMaximumFractionDigits(2);
+               nf.setMaximumIntegerDigits(2);
 
                for (int i = 0; i < columns.size(); ++i)
                {

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/SideColumnsView.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/SideColumnsView.java?rev=1160245&r1=1160244&r2=1160245&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/SideColumnsView.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/SideColumnsView.java
 Mon Aug 22 12:55:09 2011
@@ -16,15 +16,11 @@
  */
 package org.apache.wicket.extensions.markup.html.tree.table;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import javax.swing.tree.TreeNode;
 
 import org.apache.wicket.Component;
 import 
org.apache.wicket.extensions.markup.html.tree.table.ColumnLocation.Alignment;
 import org.apache.wicket.extensions.markup.html.tree.table.ColumnLocation.Unit;
-import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.request.Response;
 import org.apache.wicket.request.cycle.RequestCycle;
 
@@ -34,18 +30,10 @@ import org.apache.wicket.request.cycle.R
  * 
  * @author Matej Knopp
  */
-final class SideColumnsView extends WebMarkupContainer
+final class SideColumnsView extends AbstractColumnsView
 {
        private static final long serialVersionUID = 1L;
 
-       private final List<IColumn> columns = new ArrayList<IColumn>();
-
-       private final List<Component> components = new ArrayList<Component>();
-
-       private final TreeNode node;
-
-       private final List<IRenderable> renderables = new 
ArrayList<IRenderable>();
-
        /**
         * Constructor.
         * 
@@ -56,9 +44,8 @@ final class SideColumnsView extends WebM
         */
        public SideColumnsView(final String id, final TreeNode node)
        {
-               super(id);
+               super(id, node);
                setRenderBodyOnly(true);
-               this.node = node;
        }
 
        /**
@@ -71,41 +58,27 @@ final class SideColumnsView extends WebM
         * @param renderable
         *            The renderer
         */
+       @Override
        public void addColumn(final IColumn column, final Component component,
                final IRenderable renderable)
        {
-               if (column.isVisible())
-               {
-                       // if the column is aligned to the left, just append it.
-                       // Otherwise we prepend it, because we want columns 
aligned to right
-                       // to be rendered reverse order (because they will have 
set
-                       // float:right
-                       // in css, so they will be displayed in reverse order 
too).
-                       if (column.getLocation().getAlignment() == 
Alignment.LEFT)
-                       {
-                               columns.add(column);
-                               components.add(component);
-                               renderables.add(renderable);
-                       }
-                       else
-                       {
-                               columns.add(0, column);
-                               components.add(0, component);
-                               renderables.add(0, renderable);
-                       }
-               }
+               // if the column is aligned to the left, just append it.
+               // Otherwise we prepend it, because we want columns aligned to 
right
+               // to be rendered reverse order (because they will have set
+               // float:right
+               // in css, so they will be displayed in reverse order too).
+               Position position = (column.getLocation().getAlignment() == 
Alignment.LEFT)
+                       ? Position.APPEND : Position.PREPEND;
+               super.addColumn(column, component, renderable, position);
        }
 
-       /**
-        * @see org.apache.wicket.MarkupContainer#onRender()
-        */
        @Override
        protected void onRender()
        {
                Response response = RequestCycle.get().getResponse();
 
-               boolean firstLeft = true; // whether there was no left column 
rendered
-               // yet
+               // whether there was no left column rendered yet
+               boolean firstLeft = true;
 
                for (int i = 0; i < columns.size(); ++i)
                {

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.html
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.html?rev=1160245&r1=1160244&r2=1160245&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.html
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.html
 Mon Aug 22 12:55:09 2011
@@ -46,10 +46,11 @@
 
 </div>
 
-</wicket:panel>
-
 <wicket:fragment wicket:id="fragment">
-       <span wicket:id="indent"></span><a wicket:id="link" style=""><span 
wicket:id="image"/></a>                      
-       <a wicket:id="nodeLink" class="node-link"><span class="icon" 
wicket:id="icon"></span><span wicket:id="label" class="text"></span></a>   
+    <span wicket:id="indent"></span><a wicket:id="link"><span 
wicket:id="image"/></a>          
+    <a wicket:id="nodeLink" class="node-link"><span class="icon" 
wicket:id="icon"></span><span wicket:id="label" class="text"></span></a>   
 </wicket:fragment>
+
+</wicket:panel>
+
 </html>

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java?rev=1160245&r1=1160244&r2=1160245&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTable.java
 Mon Aug 22 12:55:09 2011
@@ -31,6 +31,7 @@ import org.apache.wicket.markup.html.Web
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.markup.html.tree.AbstractTree;
+import org.apache.wicket.markup.html.tree.WicketTreeModel;
 import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.request.resource.PackageResourceReference;
@@ -146,7 +147,7 @@ public class TreeTable extends DefaultAb
        }
 
        // columns of the TreeTable
-       private IColumn columns[];
+       private final IColumn columns[];
 
        /**
         * Creates the TreeTable for the given array of columns.
@@ -156,12 +157,11 @@ public class TreeTable extends DefaultAb
         */
        public TreeTable(final String id, final IColumn columns[])
        {
-               super(id);
-               init(columns);
+               this(id, (TreeModel)null, columns);
        }
 
        /**
-        * Creates the TreeTable for the given model and array of columns.
+        * Creates the TreeTable for the given TreeModel and array of columns.
         * 
         * @param id
         *            The component id
@@ -170,16 +170,13 @@ public class TreeTable extends DefaultAb
         * @param columns
         *            The columns
         */
-       public TreeTable(final String id, final IModel<? extends TreeModel> 
model,
-               final IColumn columns[])
+       public TreeTable(final String id, final TreeModel model, final IColumn 
columns[])
        {
-               super(id, model);
-               init(columns);
+               this(id, new WicketTreeModel(model), columns);
        }
 
-
        /**
-        * Creates the TreeTable for the given TreeModel and array of columns.
+        * Creates the TreeTable for the given model and array of columns.
         * 
         * @param id
         *            The component id
@@ -188,10 +185,30 @@ public class TreeTable extends DefaultAb
         * @param columns
         *            The columns
         */
-       public TreeTable(final String id, final TreeModel model, final IColumn 
columns[])
+       public TreeTable(final String id, final IModel<? extends TreeModel> 
model,
+               final IColumn columns[])
        {
                super(id, model);
-               init(columns);
+
+               this.columns = columns;
+
+               // Attach the javascript that resizes the header according to 
the body
+               // This is necessary to support fixed position header. The 
header does
+               // not
+               // scroll together with body. The body contains vertical 
scrollbar. The
+               // header width must be same as body content width, so that the 
columns
+               // are properly aligned.
+               add(new Behavior()
+               {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       public void renderHead(final Component component, final 
IHeaderResponse response)
+                       {
+                               
response.renderOnDomReadyJavaScript("Wicket.TreeTable.attachUpdate(\"" +
+                                       getMarkupId() + "\")");
+                       }
+               });
        }
 
        private boolean hasLeftColumn()
@@ -223,8 +240,9 @@ public class TreeTable extends DefaultAb
                                if ((column.getLocation().getAlignment() == 
Alignment.LEFT) ||
                                        (column.getLocation().getAlignment() == 
Alignment.RIGHT))
                                {
-                                       Component component = 
column.newHeader(sideColumns, "" + i);
-                                       sideColumns.add(component);
+                                       TreeTableItem component = new 
TreeTableItem(i);
+                                       Component cell = 
column.newHeader(sideColumns, TreeTableItem.ID);
+                                       component.add(cell);
                                        sideColumns.addColumn(column, 
component, null);
                                }
                        }
@@ -241,8 +259,9 @@ public class TreeTable extends DefaultAb
                                IColumn column = columns[i];
                                if (column.getLocation().getAlignment() == 
Alignment.MIDDLE)
                                {
-                                       Component component = 
column.newHeader(middleColumns, "" + i);
-                                       middleColumns.add(component);
+                                       TreeTableItem component = new 
TreeTableItem(i);
+                                       Component cell = 
column.newHeader(middleColumns, TreeTableItem.ID);
+                                       component.add(cell);
                                        middleColumns.addColumn(column, 
component, null);
                                }
                        }
@@ -326,16 +345,16 @@ public class TreeTable extends DefaultAb
                                if ((column.getLocation().getAlignment() == 
Alignment.LEFT) ||
                                        (column.getLocation().getAlignment() == 
Alignment.RIGHT))
                                {
-                                       Component component;
+                                       TreeTableItem component;
                                        // first try to create a renderable
                                        IRenderable renderable = 
column.newCell(node, level);
 
                                        if (renderable == null)
                                        {
                                                // if renderable failed, try to 
create a regular component.
-                                               // Id's shall not be number 
except for ListItems etc.
-                                               component = 
column.newCell(sideColumns, "r" + i, node, level);
-                                               sideColumns.add(component);
+                                               component = new 
TreeTableItem(i);
+                                               Component cell = 
column.newCell(sideColumns, TreeTableItem.ID, node, level);
+                                               component.add(cell);
                                        }
                                        else
                                        {
@@ -357,16 +376,17 @@ public class TreeTable extends DefaultAb
                                IColumn column = columns[i];
                                if (column.getLocation().getAlignment() == 
Alignment.MIDDLE)
                                {
-                                       Component component;
+                                       TreeTableItem component;
                                        // first try to create a renderable
                                        IRenderable renderable = 
column.newCell(node, level);
 
                                        if (renderable == null)
                                        {
-                                               // if renderable failed, try to 
create a regular
-                                               // component
-                                               component = 
column.newCell(middleColumns, "" + i, node, level);
-                                               middleColumns.add(component);
+                                               // if renderable failed, try to 
create a regular component
+                                               component = new 
TreeTableItem(i);
+                                               Component cell = 
column.newCell(middleColumns, TreeTableItem.ID, node,
+                                                       level);
+                                               component.add(cell);
                                        }
                                        else
                                        {
@@ -380,8 +400,7 @@ public class TreeTable extends DefaultAb
                item.add(middleColumns);
 
                // do distinguish between selected and unselected rows we add an
-               // behavior
-               // that modifies row css class.
+               // behavior that modifies row css class.
                item.add(new Behavior()
                {
                        private static final long serialVersionUID = 1L;
@@ -401,52 +420,4 @@ public class TreeTable extends DefaultAb
                        }
                });
        }
-
-       /**
-        * Internal initialization. Also checks if at least one of the columns 
is derived from
-        * AbstractTreeColumn.
-        * 
-        * @param columns
-        *            The columns
-        */
-       private void init(final IColumn columns[])
-       {
-               boolean found = false;
-               if (columns != null)
-               {
-                       for (IColumn column : columns)
-                       {
-                               if (column instanceof PropertyTreeColumn)
-                               {
-                                       found = true;
-                                       break;
-                               }
-                       }
-               }
-               if (found == false)
-               {
-                       throw new IllegalArgumentException(
-                               "At least one column in TreeTable must be 
derived from AbstractTreeColumn.");
-               }
-
-               this.columns = columns;
-
-               // Attach the javascript that resizes the header according to 
the body
-               // This is necessary to support fixed position header. The 
header does
-               // not
-               // scroll together with body. The body contains vertical 
scrollbar. The
-               // header width must be same as body content width, so that the 
columns
-               // are properly aligned.
-               add(new Behavior()
-               {
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public void renderHead(final Component component, final 
IHeaderResponse response)
-                       {
-                               
response.renderOnDomReadyJavaScript("Wicket.TreeTable.attachUpdate(\"" +
-                                       getMarkupId() + "\")");
-                       }
-               });
-       }
 }
\ No newline at end of file

Added: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTableItem.html
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTableItem.html?rev=1160245&view=auto
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTableItem.html
 (added)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTableItem.html
 Mon Aug 22 12:55:09 2011
@@ -0,0 +1,5 @@
+<wicket:panel>
+
+       <span wicket:id="comp"></span>
+
+</wicket:panel>
\ No newline at end of file

Added: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTableItem.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTableItem.java?rev=1160245&view=auto
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTableItem.java
 (added)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/tree/table/TreeTableItem.java
 Mon Aug 22 12:55:09 2011
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.extensions.markup.html.tree.table;
+
+import org.apache.wicket.markup.html.list.AbstractItem;
+import org.apache.wicket.markup.html.panel.IMarkupSourcingStrategy;
+import org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy;
+
+/**
+ * An {@link AbstractItem} that is used to wrap the real component and still 
have numeric id
+ * (because TreeTable works with numeric ids). Acts as a Panel
+ */
+class TreeTableItem extends AbstractItem
+{
+       /**
+        * The component id of the wrapped component
+        */
+       static final String ID = "comp";
+
+       TreeTableItem(final int id)
+       {
+               super(id);
+
+               setRenderBodyOnly(true);
+       }
+
+       @Override
+       protected IMarkupSourcingStrategy newMarkupSourcingStrategy()
+       {
+               return new PanelMarkupSourcingStrategy(false);
+       }
+}
\ No newline at end of file


Reply via email to