# VTreeItem

**Heredado por:** [VTreeItemRegister](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vtreeitemregister)

Esta clase es usada para gestionar cada una de los ítems que forman un control de la clase [VTreeWidget](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vtreewidget).

Cada ítem puede contener una o varias columnas de datos en la que podemos incluir textos, etiquetas y un icono.

Los ítems se construyen con un padre que se corresponde con un ítem de primer nivel en el objeto de la clase [VTreeWidget](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vtreewidget) u otro ítem de la clase VTreeItem de nivel superior.

Cada columna en un ítem puede tener su propio color de fondo fijado con la función setBackgroundColor() y su color de texto fijado con la función setForegroundColor().

La principal diferencia entre los ítems de nivel principal y el resto de ítems inferiores del árbol es que los ítems de nivel superior o principal no tiene ítem padre, esta información puede ser útil a la hora de insertar o borrar ítems del árbol. Los ítem hijos pueden ser eliminados con la función deleteChild() o añadidos con la función addChild().

Cada ítem, por defecto es seleccionable, activable, etc. Esta configuración en el ítem se realiza a través de flags que pueden ser alterados con la función setFlags() aplicando los valores que se encuentran en el enum ItemFlag de esta clase.

## Indice de funciones

### **Generales**

Number [columnCount](#columncount)()

Number [flags](#flags)()

Boolean [isExpanded](#isexpanded)()

Boolean [isHidden](#ishidden)()

Boolean [isRegisterType](#isregistertype)()

Boolean [isSelected](#isselected)()

VTreeItem [parentItem](#parentitem)()

void [setExpanded](#setexpanded)( Boolean expanded )

void [setFlags](#setflags)( Number flags )

void [setHidden](#sethidden)( Boolean hidden )

void [setSelected](#setselected)( Boolean select )

### **De columna**

Number [backgroundColor](#backgroundcolor)( Number column )

Number [checkState](#checkstate)( Number column )

VFont [font](#font)( Number column )

Number [foregroundColor](#foregroundcolor)( Number column )

void [setBackgroundColor](#setbackgroundcolor)( Number column, Number r, Number g, Number b, Number a = 255 )

void [setCheckState](#setcheckstate)( Number column, Number state )

void [setFont](#setfont)( Number column, VFont font )

void [setForegroundColor](#setforegroundcolor)( Number column, Number r, Number g, Number b, Number a = 255 )

void [setIcon](#seticon)( Number column, VImage image )

void [setStatusTip](#setstatustip)( Number column, String text )

void [setText](#settext)( Number column, String text )

void [setTextAlignment](#settextalignment)( Number column, Number alignFlags )

void [setToolTip](#settooltip)( Number column, String text )

void [setWhatsThis](#setwhatsthis)( Number column, String text )

String [statusTip](#statustip)( Number column )

String [text](#text)( Number column )

Number [textAlignment](#textalignment)()

String [toolTip](#tooltip)( Number column )

String [whatsThis](#whatsthis)( Number column )

### **Child items**

VTreeItem [addChild](#addchild)()

VTreeItemRegister [addChildRegister](#addchildregister)( VRegister reg, VItemRegisterPatern patern )

Number [addChildRegisterList](#addchildregisterlist)( VRegisterList regList, VItemRegisterPatern patern )

VTreeItem [child](#child)( Number index )

Number [childCount](#childcount)()

void  [deleteChild](#deletechild)( Number index )

## Enumeraciones

**Flags de alineamiento**

* AlignLeft = 0x0001
* AlignRight = 0x0002
* AlignHCenter = 0x0004
* AlignJustify = 0x0008
* AlignAbsolute = 0x0010
* AlignTop = 0x0020
* AlignBottom = 0x0040
* AlignVCenter = 0x0080
* AlignCenter = AlignVCenter | AlignHCenter

**ItemFlag**

* 0 = No tiene fijada ninguna propiedad
* 1 = Puede ser seleccionado
* 2 = Puede ser editado
* 16 = Puede ser marcado o desmarcado por el usuario
* 32 = El usuario puede interactuar con el ítem
* 64 = El ítem se puede marcar con 3 estados independientes

## Documentación de funciones

### Funciones generales

#### Number columnCount() <a href="#columncount" id="columncount"></a>

Devuelve el nº de columnas declaradas en el ítem.

#### Number flags() <a href="#flags" id="flags"></a>

Devuelve el valor de los flags configurados para el ítem. Ver enum ItemFlag para conocer todos los valores configurables.

#### Boolean isExpanded() <a href="#isexpanded" id="isexpanded"></a>

Devuelve true si el ítem está expandido y false si está contraído.

#### Boolean isHidden() <a href="#ishidden" id="ishidden"></a>

Devuelve true el ítem está oculto y false si está visible.

#### Boolean isRegisterType() <a href="#isregistertype" id="isregistertype"></a>

Devuelve true si es un ítem de la clase [VTreeItemRegister](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vtreeitemregister) y false si es ítem de la clase VTreeItem.

#### Boolean isSelected() <a href="#isselected" id="isselected"></a>

Devuelve true si el ítem está seleccionado y false en caso contrario.

#### VTreeItem parentItem() <a href="#parentitem" id="parentitem"></a>

Devuelve el ítem padre del ítem en curso o nulo si es un top level ítem.

#### void setExpanded( Boolean expanded ) <a href="#setexpanded" id="setexpanded"></a>

Se fija si el ítem se expandir (true) o se debe contraer (false).

Parámetros:

* expanded: true para expandirlo o false para contraerlo.

#### void setFlags( Number flags ) <a href="#setflags" id="setflags"></a>

Permite configurar diferentes valores del ítem como si es seleccionable, editable, arrastrable, etc. Ver enum ItemFlag para conocer todos los valores configurables.

Parámetros:

* flags: valor numérico que combina los valores del enum ItemFlag.

#### void setHidden( Boolean hidden ) <a href="#sethidden" id="sethidden"></a>

Se fija si el ítem debe ocultarse (true) o visualizarse (false).

Parámetros:

* hidden: true para ocultar o false para visualizarlo.

#### void setSelected( Boolean select ) <a href="#setselected" id="setselected"></a>

Se fija si el ítem se mostrará seleccionado (true) o no seleccionado (false).

Parámetros:

* select: true para seleccionarlo o false para desseleccionarlo.

### Funciones de columna

#### Number backgroundColor( Number column ) <a href="#backgroundcolor" id="backgroundcolor"></a>

Devuelve el valor numérico que se corresponde con la representación decimal del valor hexadecimal de un color en formato RGBA.

Parámetros:

* column: número de columna del ítem.

#### Number checkState( Number column ) <a href="#checkstate" id="checkstate"></a>

Devuelve el check de estado de la columna especificada en el parámetro del ítem en curso.

Parámetros:

* column: número de la columna.

#### VFont font( Number column ) <a href="#font" id="font"></a>

Obtiene un objeto de la clase [VFont](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vfont) con las características de la fuente de la columna especificada en el parámetro.

Parámetros:

* column: número de columna.

#### Number foregroundColor( Number column ) <a href="#foregroundcolor" id="foregroundcolor"></a>

Devuelve el valor numérico que se corresponde con la representación decimal del valor hexadecimal de un color en formato RGBA.

Parámetros:

* column: número de columna del ítem.

#### void setBackgroundColor( Number column, Number r, Number g, Number b, Number a = 255 ) <a href="#setbackgroundcolor" id="setbackgroundcolor"></a>

Fija el color de fondo de una columna del ítem pasándole por separado los colores del formato RGBA del color de fondo.

Parámetros:

* column: número de columna del ítem.
* r: número que se corresponde con la representación decimal del color rojo.
* g: número que se corresponde con la representación decimal del color verde.
* b: número que se corresponde con la representación decimal del color azul.
* a: número que se corresponde con la representación decimal del canal alfa o transparencia.

#### void setCheckState( Number column, Number state ) <a href="#setcheckstate" id="setcheckstate"></a>

Fija el estado de una columna del ítem en curso.

Parámetros:

* column: número de la columna.
* state: número que se corresponde con el valor del estado de la columna.

#### void setFont( Number column, VFont font ) <a href="#setfont" id="setfont"></a>

Fija la fuente de la columna.

Propiedades:

* column: número de columna.
* font: objeto de la clase [VFont](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vfont) que representa a la fuente.

#### void setForegroundColor( Number column, Number r, Number g, Number b, Number a = 255 ) <a href="#setforegroundcolor" id="setforegroundcolor"></a>

Fija el color del texto de una columna del ítem pasándole por separado los colores del formato RGBA del color de fondo.

Parámetros:

* column: número de columna del ítem.
* r: número que se corresponde con la representación decimal del color rojo.
* g: número que se corresponde con la representación decimal del color verde.
* b: número que se corresponde con la representación decimal del color azul.
* a: número que se corresponde con la representación decimal del canal alfa o transparencia.

#### void setIcon( Number column, VImage image ) <a href="#seticon" id="seticon"></a>

Fija el icono que se mostrará en una columna del ítem.

Parámetros:

* column: número de columna del ítem.
* image: objeto de la clase [VImage ](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vimage)que contiene el icono a visualizar.

#### void setStatusTip( Number column, String text ) <a href="#setstatustip" id="setstatustip"></a>

Fija el texto que se mostrará en la barra de estado cuando se pone el ratón encima de la columna del ítem.

Parámetros:

* column: número de columna del ítem.
* text: texto a visualizar en la barra de estado de la ventana.

#### void setText( Number column, String text ) <a href="#settext" id="settext"></a>

Fija el texto que se mostrará en una columna del ítem.

Parámetros:

* column: número de columna del ítem.
* text: texto a visualizar.

#### void setTextAlignment( Number column, Number alignFlags ) <a href="#settextalignment" id="settextalignment"></a>

Configura la alineación de los textos en una columna del ítem en curso.

Parámetros:

* column: número de la columna del ítem.
* alignFlags: número de el valor de los flags de alineamiento. Ver enum de flags de alineamiento.

#### void setToolTip( Number column, String text ) <a href="#settooltip" id="settooltip"></a>

Fija el texto que se mostrará en el tooltip cuando se ponga el ratón encima de una columna del ítem.

Parámetros:

* column: número de columna del ítem.
* text: texto a visualizar en el tooltip.

#### void setWhatsThis( Number column, String text ) <a href="#setwhatsthis" id="setwhatsthis"></a>

Fija el texto que se mostrará en la ventana de ayuda cuando se pone el ratón encima de la columna del ítem y está activado el modo "What's this?".

Parámetros:

* column: número de columna del ítem.
* text: texto a visualizar en la ventana de ayuda.

#### String statusTip( Number column ) <a href="#statustip" id="statustip"></a>

Devuelve el texto a visualizar en la barra de estado cuando se sitúa el ratón encima de una columna del ítem.

Parámetros:

* column: número de columna del ítem.

#### String text( Number column ) <a href="#text" id="text"></a>

Devuelve el texto que contiene una columna del ítem.

Parámetros:

* column: número de columna del ítem.

#### Number textAlignment() <a href="#textalignment" id="textalignment"></a>

Devuelve un número que se corresponde con el valor de alineamiento de texto del ítem y columna en curso, ver enum flags de alineamiento.

#### String toolTip( Number column ) <a href="#tooltip" id="tooltip"></a>

Devuelve el texto a visualizar en el tooltip cuando se sitúa el ratón encima de una columna del ítem.

Parámetros:

* column: número de columna del ítem.

#### String whatsThis( Number column ) <a href="#whatsthis" id="whatsthis"></a>

Devuelve el texto a visualizar en la ventana de ayuda cuando se sitúa el ratón encima de una columna del ítem y está activado el modo "What's this?".

Parámetros:

* column: número de columna del ítem.

### Child items <a href="#ch-items" id="ch-items"></a>

#### VTreeItem addChild() <a href="#addchild" id="addchild"></a>

Devuelve un nuevo objeto de la clase VTreeItem que se corresponderá con un ítem hijo al ítem actual.

#### VTreeItemRegister addChildRegister( VRegister reg, VItemRegisterPatern patern ) <a href="#addchildregister" id="addchildregister"></a>

Añade al control un ítem hijo del ítem en curso con el registro y patrón especificados en los parámetros y devuelve un objeto de la clase [VTreeItemRegister](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vtreeitemregister) con el ítem creado.

Parámetros:

* reg: registro, objeto de la clase [VRegister](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister).
* patern: patrón, objeto de la clase VItemRegisterPatern.

#### Number addChildRegisterList( VRegisterList regList, VItemRegisterPatern patern ) <a href="#addchildregisterlist" id="addchildregisterlist"></a>

Añade al control un grupo de ítems hijos del ítem en curso con la lista de registros y patrón especificados en los parámetros y devuelve el número de ítems creados.

Parámetros:

* regList: registro, objeto de la clase [VRegisterList](https://doc.velneo.com/30/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist).
* patern: patrón, objeto de la clase VItemRegisterPatern.

#### VTreeItem child( Number index ) <a href="#child" id="child"></a>

Devuelve un objeto de la clase VTreeItem correspondiente al ítem que ocupa la posición especificada en el parámetro.

Parámetros:

* index: número del ítem.

#### Number childCount() <a href="#childcount" id="childcount"></a>

Devuelve el nº de ítems hijos.

#### void deleteChild( Number index ) <a href="#deletechild" id="deletechild"></a>

Eliminar el ítem especificado en el parámetro.

Parámetros:

* index: número del ítem a eliminar.
