Example usage for org.apache.wicket.extensions.markup.html.repeater.util TreeModelProvider TreeModelProvider

List of usage examples for org.apache.wicket.extensions.markup.html.repeater.util TreeModelProvider TreeModelProvider

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.markup.html.repeater.util TreeModelProvider TreeModelProvider.

Prototype

public TreeModelProvider(TreeModel treeModel) 

Source Link

Document

Wrap the given TreeModel .

Usage

From source file:org.wicketTutorial.checkboxtree.HomePage.java

License:Apache License

public HomePage(final PageParameters parameters) {
    super(parameters);
    DefaultMutableTreeNode root = new DefaultMutableTreeNode("Cities of Europe");

    addNodes(addNodes(root, "Italy"), "Rome", "Venice", "Milan", "Florence");
    addNodes(addNodes(root, "Germany"), "Stuttgart", "Munich", "Berlin", "Dusseldorf", "Dresden");
    addNodes(addNodes(root, "France"), "Paris ", "Toulouse", "Strasbourg", "Bordeaux", "Lyon");

    DefaultTreeModel treeModel = new DefaultTreeModel(root);
    TreeModelProvider<DefaultMutableTreeNode> modelProvider = new TreeModelProvider<DefaultMutableTreeNode>(
            treeModel) {// w  ww .  j a v a2s .c o  m

        @Override
        public IModel<DefaultMutableTreeNode> model(DefaultMutableTreeNode object) {
            return Model.of(object);
        }
    };

    tree = new NestedTree<DefaultMutableTreeNode>("tree", modelProvider) {
        private static final long serialVersionUID = 1L;

        @Override
        protected Component newContentComponent(String id, IModel<DefaultMutableTreeNode> model) {
            return new CheckedFolder<DefaultMutableTreeNode>(id, this, model);
        }
    };
    //select Windows theme
    tree.add(new WindowsTheme());

    add(tree);
}

From source file:org.wicket_sapporo.workshop01.page.ajax.tree.AjaxTreePage.java

License:Apache License

public AjaxTreePage() {
    clickedTerminatory = Model.of("");

    final Label clickedTerminatoryLabel = new Label("clickedTerminatory", clickedTerminatory) {
        private static final long serialVersionUID = -4224953169066901644L;

        @Override/*from www. ja  v  a2 s . c  o  m*/
        protected void onInitialize() {
            super.onInitialize();
            setOutputMarkupId(true);
        }
    };
    add(clickedTerminatoryLabel);

    // 1. TreeModel?
    TreeModel treeModel = new DefaultTreeModel(getTreeNode());
    // 2. TreeModelProvider?
    ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeModelProvider<DefaultMutableTreeNode>(
            treeModel) {
        private static final long serialVersionUID = 3376187721454642989L;

        @Override
        public IModel<DefaultMutableTreeNode> model(DefaultMutableTreeNode arg0) {
            return Model.of(arg0);
        }
    };

    // 3. Tree?????
    add(new NestedTree<DefaultMutableTreeNode>("tree", treeProvider) {
        private static final long serialVersionUID = 5671307285170480665L;

        @Override
        protected void onInitialize() {
            super.onInitialize();
            add(new WindowsTheme());
        }

        @Override
        protected Component newContentComponent(String id, IModel<DefaultMutableTreeNode> model) {
            // ???CheckFolder?
            return new Folder<DefaultMutableTreeNode>(id, this, model) {
                private static final long serialVersionUID = -6100530316563823499L;

                @Override
                protected MarkupContainer newLinkComponent(String id, IModel<DefaultMutableTreeNode> model) {
                    // ?????????????????
                    if (getProvider().hasChildren(model.getObject())) {
                        return super.newLinkComponent(id, model);
                    }
                    return new AjaxLink<DefaultMutableTreeNode>(id, model) {
                        private static final long serialVersionUID = -7710712071051731986L;

                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            clickedTerminatory.setObject(getDefaultModelObjectAsString());
                            target.add(clickedTerminatoryLabel);
                        }
                    };
                }

            };
        }
    });
}