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