--- /dev/null
+package com.vaadin.tests.components.tree;\r
+\r
+import com.vaadin.Application;\r
+import com.vaadin.data.Item;\r
+import com.vaadin.data.util.HierarchicalContainer;\r
+import com.vaadin.ui.Button;\r
+import com.vaadin.ui.Tree;\r
+import com.vaadin.ui.Window;\r
+import com.vaadin.ui.Button.ClickEvent;\r
+import com.vaadin.ui.Button.ClickListener;\r
+\r
+public class TreeFiltering extends Application {\r
+\r
+ @Override\r
+ public void init() {\r
+ final Window mainWindow = new Window("Vaadintest Application");\r
+\r
+ final Tree ccTree = new Tree();\r
+ mainWindow.addComponent(ccTree);\r
+\r
+ final HierarchicalContainer cont = new HierarchicalContainer();\r
+ cont.addContainerProperty("caption", String.class, "");\r
+\r
+ Item item;\r
+ for (int i = 0; i < 5; i++) {\r
+ item = cont.addItem(i);\r
+ item.getItemProperty("caption").setValue("Number " + i);\r
+ cont.setParent(i, i - 1);\r
+ }\r
+\r
+ for (int i = 0; i < 5; i++) {\r
+ Object id = cont.addItem();\r
+ item = cont.getItem(id);\r
+ item.getItemProperty("caption").setValue("0-" + i);\r
+ cont.setParent(id, 0);\r
+ }\r
+\r
+ ccTree.setContainerDataSource(cont);\r
+ ccTree.setItemCaptionPropertyId("caption");\r
+\r
+ for (final Object o : ccTree.getItemIds()) {\r
+ ccTree.expandItem(o);\r
+ }\r
+\r
+ final Button b = new Button("Add filter 'foo'", new ClickListener() {\r
+ public void buttonClick(final ClickEvent event) {\r
+ cont.addContainerFilter("caption", "foo", true, false);\r
+\r
+ }\r
+ });\r
+ mainWindow.addComponent(b);\r
+ final Button b2 = new Button("Add filter 'Num'", new ClickListener() {\r
+ public void buttonClick(final ClickEvent event) {\r
+ cont.addContainerFilter("caption", "Num", true, false);\r
+\r
+ }\r
+ });\r
+ mainWindow.addComponent(b2);\r
+ final Button num = new Button("Add filter '0'", new ClickListener() {\r
+ public void buttonClick(final ClickEvent event) {\r
+ cont.addContainerFilter("caption", "0", true, false);\r
+\r
+ }\r
+ });\r
+ mainWindow.addComponent(num);\r
+ final Button r = new Button("Remove filter", new ClickListener() {\r
+ public void buttonClick(final ClickEvent event) {\r
+ cont.removeAllContainerFilters();\r
+\r
+ }\r
+ });\r
+ mainWindow.addComponent(r);\r
+ setMainWindow(mainWindow);\r
+ }\r
+\r
+}
\ No newline at end of file