Example usage for org.apache.wicket.extensions.markup.html.repeater.tree.content CheckedFolder CheckedFolder

List of usage examples for org.apache.wicket.extensions.markup.html.repeater.tree.content CheckedFolder CheckedFolder

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.markup.html.repeater.tree.content CheckedFolder CheckedFolder.

Prototype

public CheckedFolder(String id, AbstractTree<T> tree, IModel<T> model) 

Source Link

Usage

From source file:nl.mpi.lamus.web.components.UnlinkedNodesPanel.java

License:Open Source License

private AbstractTree<WorkspaceTreeNode> createTree(String id, UnlinkedNodesModelProvider provider,
        IModel<Set<WorkspaceTreeNode>> state) {

    List<IColumn<WorkspaceTreeNode, String>> columns = createColumns();

    final TableTree<WorkspaceTreeNode, String> tree = new DefaultTableTree<WorkspaceTreeNode, String>(id,
            columns, provider, Integer.MAX_VALUE, state) {

        @Override//from  w w w.j  a v a 2  s  .c  om
        protected Component newContentComponent(String id, IModel<WorkspaceTreeNode> model) {

            if (model.getObject().getParent() != null) {
                return new Folder<>(id, unlinkedNodesTree, model);
            } else {
                return new CheckedFolder<WorkspaceTreeNode>(id, unlinkedNodesTree, model) {

                    private static final long serialVersionUID = 1L;

                    @Override
                    protected IModel<Boolean> newCheckBoxModel(final IModel<WorkspaceTreeNode> model) {

                        return new IModel<Boolean>() {
                            private static final long serialVersionUID = 1L;

                            @Override
                            public Boolean getObject() {
                                return isChecked(model.getObject());
                            }

                            @Override
                            public void setObject(Boolean object) {
                                check(model.getObject(), object);
                            }

                            @Override
                            public void detach() {
                            }
                        };
                    }
                };
            }
        }

        @Override
        protected Item<WorkspaceTreeNode> newRowItem(String id, int index, IModel<WorkspaceTreeNode> model) {
            return new OddEvenItem<>(id, index, model);
        }
    };

    return tree;
}

From source file:nl.mpi.lamus.web.unlinkednodes.tree.CheckedFolderContent.java

License:Open Source License

/**
 * @see Content#newContentComponent(java.lang.String, org.apache.wicket.extensions.markup.html.repeater.tree.AbstractTree, org.apache.wicket.model.IModel)
 *//*from ww w.  j  a va2 s  . c o  m*/
@Override
public Component newContentComponent(String id, final AbstractTree<WorkspaceTreeNode> tree,
        IModel<WorkspaceTreeNode> model) {
    return new CheckedFolder<WorkspaceTreeNode>(id, tree, model) {
        private static final long serialVersionUID = 1L;

        @Override
        protected IModel<Boolean> newCheckBoxModel(final IModel<WorkspaceTreeNode> model) {
            return new IModel<Boolean>() {
                private static final long serialVersionUID = 1L;

                @Override
                public Boolean getObject() {
                    return isChecked(model.getObject());
                }

                @Override
                public void setObject(Boolean object) {
                    check(model.getObject(), object);
                }

                @Override
                public void detach() {
                }
            };
        }
    };
}

From source file:org.efaps.ui.wicket.components.classification.ClassificationTree.java

License:Apache License

@Override
protected Component newContentComponent(final String _id, final IModel<UIClassification> _model) {
    return new CheckedFolder<UIClassification>(_id, this, _model) {

        private static final long serialVersionUID = 1L;

        @Override//from  w w w.  ja  v  a  2s  . c o  m
        protected void onUpdate(final AjaxRequestTarget _target) {
            final boolean selected = getModelObject().isSelected();
            final ClassificationTreePanel parent = findParent(ClassificationTreePanel.class);
            // Don't do that if it is a filter
            if (parent != null && !getModelObject().isMultipleSelect() && !selected) {
                // select event ensure that there are no other objects selected by cleaning it totally
                UIClassification uiClass = getModelObject();
                while (!uiClass.isBase()) {
                    uiClass = uiClass.getParent();
                }
                toggleDown(uiClass, false);
            }

            // unselect event ensure that no children are selected
            if (selected) {
                toggleDown(getModelObject(), false);
            } else {
                toggleUp(getModelObject(), true);
            }
            _target.add(ClassificationTree.this);
            if (parent != null) {
                parent.modelChanged();
            }
        }

        private void toggleUp(final UIClassification _uiClass, final boolean _selected) {
            UIClassification uiClass = _uiClass;
            uiClass.setSelected(_selected);
            while (!uiClass.isBase()) {
                uiClass = uiClass.getParent();
                uiClass.setSelected(_selected);
            }
        }

        private void toggleDown(final UIClassification _uiClass, final boolean _selected) {
            _uiClass.setSelected(_selected);
            for (final UIClassification child : _uiClass.getChildren()) {
                toggleDown(child, _selected);
            }
        }

        @Override
        protected IModel<Boolean> newCheckBoxModel(final IModel<UIClassification> _model) {
            return Model.of(_model.getObject().isSelected());
        }
    };
}

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) {/*from  w  ww. ja  va2 s. com*/

        @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);
}