Child Tree Utilities
[Ihandle Object]

Collaboration diagram for Child Tree Utilities:


Ihandle * iupChildTreeGetNativeParent (Ihandle *ih)
InativeHandleiupChildTreeGetNativeParentHandle (Ihandle *ih)
void iupChildTreeAppend (Ihandle *parent, Ihandle *child)
int iupChildTreeIsChild (Ihandle *ih, Ihandle *child)
Ihandle * iupChildTreeGetPrevBrother (Ihandle *ih)

Detailed Description

Some native containers have an internal native child that will be the actual container for the children. This native container is returned by iupClassObjectGetInnerNativeContainerHandle and it is used in iupChildTreeGetNativeParentHandle.
Some native elements need an extra parent, the ih->handle points to the main element itself, NOT to the extra parent. This extra parent is stored as "_IUP_EXTRAPARENT". In this case the native parent of ih->handle is the extra parent, and the extra parent is added as child to the element actual native parent.
See iup_childtree.h

Function Documentation

Ihandle* iupChildTreeGetNativeParent ( Ihandle *  ih  ) 

Returns the native parent. It simply excludes containers that are from IUP_TYPEVOID classes.

InativeHandle* iupChildTreeGetNativeParentHandle ( Ihandle *  ih  ) 

Returns the native parent handle. Uses iupChildTreeGetNativeParent and iupClassObjectGetInnerNativeContainerHandle.

void iupChildTreeAppend ( Ihandle *  parent,
Ihandle *  child 

Adds the child directly to the parent tree.

int iupChildTreeIsChild ( Ihandle *  ih,
Ihandle *  child 

Checks if the child belongs to the parent tree.

Ihandle* iupChildTreeGetPrevBrother ( Ihandle *  ih  ) 

Returns the previous brother if any.