Roughian Examples Site Map - Examples - Tutorials

TreeListener


Version 1.0 onwards

Tells You When A TreeItem Is Selected/Opened/Closed Clicked



Sources



Notes


The TreeListener listens to a Tree and fires two events: TreeItemSelected and TreeItemStatusChanged. The first is pretty self-evident, and the 'status' part of the second refers to the node opening or closing.


Code


class Demo extends Composite implements TreeListener
{
    Tree tree = new Tree();
    Label info = new Label("Click the tree to start");

    public Demo()
    {
        VerticalPanel vp = new VerticalPanel();
        vp.addStyleName("demo-table");
        vp.addStyleName("table-center");
        vp.setWidth("300px");

        TreeItem outerRoot = new TreeItem("Item 1");
        outerRoot.addItem("Item 1-1");
        outerRoot.addItem("Item 1-2");
        outerRoot.addItem("Item 1-3");
        tree.addItem(outerRoot);

        TreeItem innerRoot = new TreeItem("Item 1-5");
        innerRoot.addItem("Item 1-5-1");
        innerRoot.addItem("Item 1-5-2");
        innerRoot.addItem("Item 1-5-3");
        innerRoot.addItem("Item 1-5-4");

        outerRoot.addItem(innerRoot);
        tree.addTreeListener(this);


        vp.add(tree);
        vp.setCellHeight(tree, "200px");

        DOM.setStyleAttribute(info.getElement(),
            "backgroundColor", "#ffc");

        DOM.setStyleAttribute(info.getElement(),
            "borderTop", "3px solid #999");

        vp.add(info);

        initWidget(vp);
    }
    public void onTreeItemSelected(TreeItem item)
    {
        info.setText("Selected " + item.getText());
    }
    public void onTreeItemStateChanged(TreeItem item)
    {
        info.setText(item.getText() + " State Changed");
    }
}