if (type.equals("click") || type.equals("dblclick") || type.equals("mouseup"))
{
Node nodeClicked = (Node) evt.getTarget(); // Puede ser un nodo interior del elemento pulsado
ItsNatTreeUI compUI = getItsNatTreeUIImpl();
ItsNatTreeCellUI nodeInfo = compUI.getItsNatTreeCellUIFromNode(nodeClicked);
if (nodeInfo != null)
{
// Vemos qu� parte se ha pulsado
Element parentElem = nodeInfo.getParentElement(); // para acelerar la b�squeda
if (parentElem == nodeClicked) // Raro, seguramente el evento ha sido enviado por c�digo
{
// No sabemos que hacer (expandir, no expandir etc) al menos seleccionamos el nodo pues es seguramente lo que se pretende al enviar el click a este elemento
selectTreeNode(nodeInfo, evt);
}
else if (DOMUtilInternal.isChildOrSame(nodeClicked, nodeInfo.getHandleElement(), parentElem))
{
// Handle pulsado
toggleExpansionStateNode(nodeInfo);
}
else if (DOMUtilInternal.isChildOrSame(nodeClicked, nodeInfo.getIconElement(), parentElem))
{
// Icon pulsado
// Hacemos lo mismo que en el JTree
if (mustToggleExpansionStateNode(type))
{
toggleExpansionStateNode(nodeInfo);
}
selectTreeNode(nodeInfo, evt);
}
else if (DOMUtilInternal.isChildOrSame(nodeClicked, nodeInfo.getLabelElement(), parentElem))
{
// Contenido pulsado
// Hacemos lo mismo que en el JTree, pero evitamos hacer la expansi�n
// si el evento coincide con el que activa el editor (queda feo ambas cosas mezcladas)
if (mustToggleExpansionStateNode(type) &&