Subversion Repositories SmartDukaan

Rev

Rev 1962 | Rev 2027 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.catalog.dashboard.client;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;

/**
 * A tree displaying a set of catalog folders.
 */
public class CatalogTree extends Composite {

    private Tree tree;
    
    interface TreeListener {
        void onTreeItemClicked();
    }
    
    TreeListener treeListener;

    public CatalogTree() {
        tree = new Tree();
        TreeItem root = new TreeItem("Catalog");
        tree.addItem(root);

        addItem(root, "All Items");
        addItem(root, "Best Deals");
        addItem(root, "Best Sellers");
        addItem(root, "Latest Arrivals");

        root.setState(true);
        initWidget(tree);
    }

    private void addItem(TreeItem root, String title) {
        Anchor item = new Anchor(title);
        root.addItem(item);
        item.addClickHandler(new ClickHandler() {
            @Override
            public void onClick(ClickEvent event) {
                treeListener.onTreeItemClicked();
            }
        });
    }
    
    public void setTreeListener(TreeListener treeListener) {
        this.treeListener = treeListener;
    }
}