protected String getItemClass(Object node) { if (getTreeState().isNodeSelected(node)) { return getSelectedClass(); } else { return null; } }
@Override public void onComponentTag(final Component component, final ComponentTag tag) { super.onComponentTag(component, tag); if (getTreeState().isNodeSelected(node)) { tag.put("class", "row-selected"); } else { tag.put("class", "row"); } } });
/** * Handler invoked when the link is clicked. By default makes the node selected * * @param node * @param tree * @param target */ protected void onNodeLinkClicked(Object node, BaseTree tree, AjaxRequestTarget target) { tree.getTreeState().selectNode(node, !tree.getTreeState().isNodeSelected(node)); if (target != null) { tree.updateTree(target); } } }
@Override public void onClick(final AjaxRequestTarget target) { getTreeState().selectNode(node, !getTreeState().isNodeSelected(node)); onNodeLinkClicked(target, node); if (target != null) { updateTree(target); } } });
/** * @see org.apache.wicket.behavior.AbstractBehavior#onComponentTag(org.apache.wicket. * Component, ComponentTag) */ @Override public void onComponentTag(final Component component, final ComponentTag tag) { super.onComponentTag(component, tag); if (getTreeState().isNodeSelected(node)) { tag.put("class", "row-selected"); } else { tag.put("class", "row"); } } });
@Override protected void populateTreeItem(WebMarkupContainer item, final int level) { final TreeNode node = (TreeNode) item.getDefaultModelObject(); item.add(newIndentation(item, "indent", (TreeNode) item.getDefaultModelObject(), level)); item.add(newJunctionLink(item, "link", "image", node)); MarkupContainer nodeLink = newNodeLink(item, "nodeLink", node); item.add(nodeLink); nodeLink.add(newNodeIcon(nodeLink, "icon", node)); nodeLink.add(new Label("label", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return renderNode(node, level); } })); decorateNodeLink(nodeLink, node, level); MarkupContainer contextContent = newContextContent(item, "contextContent", node); item.add(contextContent); MarkupContainer contextLink = newContextLink(item, "contextLink", node, contextContent); // FIXME: and what if it _is_ null? if (contextLink != null) { item.add(contextLink); } item.add(CssClass.append("row")); if (getTreeState().isNodeSelected(node)) { item.add(CssClass.append("row-selected")); } }