I was hoping to force a folder TreeNode to open when a user single-clicks it, by calling Tree.openFolder(TreeNode) which in turn would dispatch a onFolderOpened() event but this does not seem to work. My test case below does call the openFolder() method on a single click but I never receive the onFolderOpened(). Should this work or am I interpreting it incorrectly? Thanks!
Code:
class TreeNodeClickHandler implements CellClickHandler
{
protected IMODTreeGrid treeGrid;
public TreeNodeClickHandler(IMODTreeGrid treeGrid)
{
this.treeGrid = treeGrid;
}
public void onCellClick(CellClickEvent event)
{
System.out.println("onCellClick() called...");
if (event.getRecord() instanceof IMODTreeNode)
{
IMODTreeNode treeNode = (IMODTreeNode) event.getRecord();
if (treeGrid.getData().isFolder(treeNode) && !treeGrid.getData().isOpen(treeNode))
{
treeGrid.getData().openFolder(treeNode);
}
}
}
}
class TreeNodeFolderOpenedHandler implements FolderOpenedHandler
{
protected IMODTreeGrid treeGrid;
public TreeNodeFolderOpenedHandler(IMODTreeGrid treeGrid)
{
this.treeGrid = treeGrid;
}
public void onFolderOpened(FolderOpenedEvent event)
{
System.out.println("onFolderOpened() called...");
if (event.getNode() instanceof IMODTreeNode)
{
expandFolder(treeGrid, (IMODTreeNode) event.getNode(), false);
}
}
}