public void readExternal(Element element) throws InvalidDataException { List<Element> subPanes = element.getChildren(ELEMENT_SUBPANE); for (Element subPane : subPanes) { String subId = subPane.getAttributeValue(ATTRIBUTE_SUBID); TreeState treeState = new TreeState(); treeState.readExternal(subPane); myReadTreeState.put(subId, treeState); } }
public void writeExternal(Element element) throws WriteExternalException { saveExpandedPaths(); for (String subId : myReadTreeState.keySet()) { TreeState treeState = myReadTreeState.get(subId); Element subPane = new Element(ELEMENT_SUBPANE); if (subId != null) { subPane.setAttribute(ATTRIBUTE_SUBID, subId); } treeState.writeExternal(subPane); element.addContent(subPane); } }
public final void restoreExpandedPaths() { TreeState treeState = myReadTreeState.get(getSubId()); if (treeState != null) { treeState.applyTo(myTree); } }
protected void saveExpandedPaths() { if (myTree != null) { TreeState treeState = TreeState.createOn(myTree); myReadTreeState.put(getSubId(), treeState); } }