Cone trees

I’ve to make a bookmark manager using cone trees, but I need some suggestion about implementing it:
1)In the display function I have to visit each node? Or there could be a less time consuming method?
2)I think that each node has to be write as a structure with pointers to other nodes (like parent, child , etc.) but when I select with mouse a node from the screen , OpenGl returns an integer ID and not a struct pointer. So I’ve thought to create an array that maps the integer with node pointers . Is there another solution for get back my node pointer from the integer ID?

I hope someone could help me