Child Tree Utilities
[Ihandle Object]

Collaboration diagram for Child Tree Utilities:


IUP_SDK_API Ihandle * iupChildTreeGetNativeParent (Ihandle *ih)
IUP_SDK_API InativeHandleiupChildTreeGetNativeParentHandle (Ihandle *ih)
IUP_SDK_API void iupChildTreeAppend (Ihandle *parent, Ihandle *child)
IUP_SDK_API int iupChildTreeIsParent (Ihandle *ih, Ihandle *parent)
IUP_SDK_API 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

IUP_SDK_API Ihandle* iupChildTreeGetNativeParent ( Ihandle *  ih  ) 

Returns the native parent. It simply skips parents that are from IUP_TYPEVOID classes.

IUP_SDK_API InativeHandle* iupChildTreeGetNativeParentHandle ( Ihandle *  ih  ) 

Returns the native parent handle. Uses iupChildTreeGetNativeParent and iupClassObjectGetInnerNativeContainerHandle.

IUP_SDK_API void iupChildTreeAppend ( Ihandle *  parent,
Ihandle *  child 

Adds the child directly to the parent tree.

IUP_SDK_API int iupChildTreeIsParent ( Ihandle *  ih,
Ihandle *  parent 

Checks if the element is in the parent tree.
Which means the element is a grand-parent of parent.

IUP_SDK_API Ihandle* iupChildTreeGetPrevBrother ( Ihandle *  ih  ) 

Returns the previous brother if any.