@Override protected Object readItem(Element tr, Set<String> selected, DesignContext context) { Object itemId = super.readItem(tr, selected, context); if (tr.hasAttr("collapsed")) { boolean collapsed = DesignAttributeHandler .readAttribute("collapsed", tr.attributes(), boolean.class); setCollapsed(itemId, collapsed); } return itemId; }
@Test public void collapseNodeWithSelectedChildUnselectsChild() throws Exception { // GIVEN same initial state tree.setCollapsed(ROOT_0, false); treeView.select(Lists.newArrayList(ROOT_0, NODE_121)); // WHEN tree.setCollapsed(ROOT_0, true); // THEN assertThat(tree.isCollapsed(ROOT_0), is(true)); assertThat(tree.isSelected(ROOT_0), is(true)); assertThat(tree.isSelected(NODE_121), is(false)); }