Gustavo,
Tienes que añadir estos métodos:
Clase TTreeView:
METHOD Len() INLINE Len( ::aItems )
y
METHOD Count() CLASS TTreeView
local nItems := 0, bAction := { | oItem | nItems++, .F. }
::Scan( bAction )
return nItems
Ahora en la Clase TTVItem añadimos estos métodos:
METHOD Len() INLINE Len( ::aItems )
y
METHOD Count() CLASS TTVItem
local oItem, nItems := 1
for each oItem in ::aItems
nItems += 1 + If( ! Empty( oItem:aItems ), ( oItem:Count() - 1 ), 0 )
next
return nItems
He modificado el ejemplo FWH\samples\pim.prg para usar estos nuevos métodos y obtener lo que necesitas:
MENUITEM "Tree items" ACTION MsgInfo( oTree:Count() )
MENUITEM "Count items" ACTION If( oTree:GetSelected() != nil, MsgInfo( oTree:GetSelected():Count() ), )
Ahora puedes pulsar el botón derecho en cualquier item y saber cual es su longitud ó cuantos items y subitems tiene en total
Incluido en el próximo build de FWH