@Override public boolean isEnabled() { return tree.getProvider().hasChildren(Node.this.getModelObject()); } };
@SuppressWarnings("unchecked") private IModel<T> model(Object o) { return provider.model((T)o); }
@Override protected Component createContent(String id, IModel<T> model) { return AbstractTree.this.newContentComponent(id, model); } };
@Override public void nodeClicked( File file, AbstractTree<File> tree, final AjaxRequestTarget target) { if (selected != null) { tree.updateNode(selected.getObject(), target); selected.detach(); selected = null; } selected = provider.model(file); tree.updateNode(file, target); }
@Override public Component newNodeComponent(String id, IModel<T> model) { return super.newNodeComponent(id, model); }
/** * Toggle the node. * * @see AbstractTree#collapse(Object) * @see AbstractTree#expand(Object) */ protected void toggle() { T t = getModelObject(); if (tree.getState(t) == State.EXPANDED) { tree.collapse(t); } else { tree.expand(t); } }
/** * Clickable if node can be expanded/collapsed, i.e. has children. * * @see ITreeProvider#hasChildren(Object) */ @Override protected boolean isClickable() { T t = getModelObject(); return tree.getProvider().hasChildren(t); }
/** * Construct. * * @param id * the component id * @param provider * the provider of the tree * @param state * the expansion state * * @see org.apache.wicket.extensions.markup.html.repeater.tree.AbstractTree.State */ public NestedTree(String id, ITreeProvider<T> provider, IModel<? extends Set<T>> state) { super(id, provider, state); add(newSubtree("subtree", new RootsModel())); }
@Override protected void onInitialize() { super.onInitialize(); }
@Override protected void populateItem(Item<T> item) { IModel<T> model = item.getModel(); Component node = tree.newNodeComponent("node", model); item.add(node); item.add(tree.newSubtree("subtree", model)); } };
protected String getExpandedStyleClass(T t) { return getString(EXPANDED_CLASS_KEY); }
/** * @return the model */ @SuppressWarnings("unchecked") public IModel<T> getModel() { return (IModel<T>)getDefaultModel(); }
@Override protected boolean iterateChildren(T object) { return TableTree.this.getState(object) == State.EXPANDED; } };
@Override public void onClick(Optional<AjaxRequestTarget> targetOptional) { toggle(); }
/** * Overridden to detach the {@link ITreeProvider}. */ @Override protected void onDetach() { provider.detach(); super.onDetach(); }
@Override public void nodeClicked( File file, AbstractTree<File> tree, final AjaxRequestTarget target) { if (selected != null) { tree.updateNode(selected.getObject(), target); selected.detach(); selected = null; } selected = provider.model(file); tree.updateNode(file, target); }
@Override public Component newNodeComponent(String id, IModel<T> model) { return super.newNodeComponent(id, model); }
protected String getCollapsedStyleClass() { return getString(COLLAPSED_CLASS_KEY); }
protected void select(TreeResource resource, AbstractTree<TreeResource> tree, final AjaxRequestTarget target) { if (selected != null) { tree.updateNode(selected.getObject(), target); selected.detach(); selected = null; } selected = provider.model(resource); tree.updateNode(resource, target); }
protected String getOtherStyleClass() { return getString(OTHER_CLASS_KEY); }