# VMdiView

Un objeto de esta clase representa a una de las vistas centrales de la ventana principal. Algunas de las funciones solo están disponibles cuando el boot-mode de la [VMainWindow](https://doc.velneo.com/34/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmainwindow) es MDI.

Se puede coger el [VRoot](https://doc.velneo.com/34/velneo-vdevelop/scripts/lenguajes/javascript/clases/vroot) que contiene la vista si no es una vista genérica.

## Indice de funciones

### **Generales**

Widget [centralWidget](#centralwidget)()

Number [type](#type)()

### **Genéricas de ventana**

void [close](#close)()

Number [height](#height)()

void [hide](#hide)()

Boolean [isVisible](#isvisible)()

void [repaint](#repaint)()

void [setFocus](#setfocus)()

void [setStyleSheet](#setstylesheet)( String szSS )

void [setTitle](#settitle)( String szTitle )

void [show](#show)()

String [styleSheet](#stylesheet)()

String [title](#title)()

void [update](#update)()

Number [width](#width)()

Number [x](#x)()

Number [y](#y)()

### **Funcionales sólo en MDI**

Boolean [isMaximized](#ismaximized)()

Boolean [isMinimized](#isminimized)()

void [lower](#lower)()

void [move](#move)( Number x, Number y )

void [raise](#raise)()

void [resize](#resize)( Number nWidth, Number nHeight )

void [showMaximized](#showmaximized)()

void [showMinimized](#showminimized)()

void [showNormal](#shownormal)()

### **De sólo vistas de datos**

VRoot [root](#root)()

## Enumeraciones

**Tipos de vistas**

* TypeGeneric = 0
* TypeForm = 1
* TypeGrid = 2
* TypeSlot = 3
* TypeTree = 4
* TypeMultiView = 5
* TypeMultiViewTree = 6
* TypeFormBlock = 7
* TypeReportPreview = 8
* TypeViewFlow = 10
* TypeListAlternator = 11
* TypeComboView = 12
* TypeListView = 13
* TypeQmlList = 14
* TypeAdvancedGrid = 15
* TypeQmlForm = 16

## Documentación de funciones

### Funciones generales

#### Widget centralWidget() <a href="#centralwidget" id="centralwidget"></a>

Devuelve el [widget](https://doc.velneo.com/34/velneo-vdevelop/scripts/lenguajes/javascript/clases/widget) incrustado dentro de la vista.

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

Devuelve el tipo de vista. Ver enum de tipos de vistas.

### Funciones genéricas de ventana

#### void close() <a href="#close" id="close"></a>

Cierra la ventana.

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

Devuelve el alto en píxeles de la ventana.

#### void hide() <a href="#hide" id="hide"></a>

Oculta la vista.

#### Boolean isVisible() <a href="#isvisible" id="isvisible"></a>

Devuelve true si la vista está visible.

#### void repaint() <a href="#repaint" id="repaint"></a>

Fuerza el repintado de la ventana salvo que esté oculta o las actualizaciones desactivadas.

#### void setFocus() <a href="#setfocus" id="setfocus"></a>

Fija el foco en la ventana.

#### void setStyleSheet( String szSS ) <a href="#setstylesheet" id="setstylesheet"></a>

Cambia el script CSS que se aplicará a la vista.

Parámetros:

* szCSS: texto del script CSS.

#### void setTitle( String szTitle ) <a href="#settitle" id="settitle"></a>

Cambia el título de la ventana.

Parámetros:

* szTitle: texto del título de la ventana.

#### void show() <a href="#show" id="show"></a>

Hace visible la vista.

#### String styleSheet() <a href="#stylesheet" id="stylesheet"></a>

Devuelve el script CSS que se está aplicando a la vista.

#### String title() <a href="#title" id="title"></a>

Devuelve el título de la ventana.

#### void update() <a href="#update" id="update"></a>

Actualiza la ventana. No produce un repintado inmediato para reducir el flicker.

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

Devuelve el ancho en píxeles de la ventana.

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

Devuelve la posición x de la ventana en píxeles.

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

Devuelve la posición y de la ventana en píxeles.

### Funciones de sólo en MDI

#### Boolean isMaximized() <a href="#ismaximized" id="ismaximized"></a>

Devuelve true si la ventana está maximizada.

#### Boolean isMinimized() <a href="#isminimized" id="isminimized"></a>

Devuelve true si la ventana está minimizada.

#### void lower() <a href="#lower" id="lower"></a>

Coloca la ventana en la posición más baja de la pila de ventanas.

#### void move( Number x, Number y ) <a href="#move" id="move"></a>

Mueve la ventana a la posición x, y.

Parámetros:

* x: posición horizontal en píxeles de la esquina superior izquierda de la ventana.
* y: posición vertical en píxeles de la esquina superior izquierda de la ventana.

#### void raise() <a href="#raise" id="raise"></a>

Coloca la ventana en la posición más alta de la pila de ventanas.

#### void resize( Number nWidth, Number nHeight ) <a href="#resize" id="resize"></a>

Modifica el tamaño de la ventana.

Parámetros:

* nWidth: nuevo ancho en píxeles de la ventana.
* nHeight: nuevo alto en píxeles de la ventana.

#### void showMaximized() <a href="#showmaximized" id="showmaximized"></a>

Muestra la ventana maximizada.

#### void showMinimized() <a href="#showminimized" id="showminimized"></a>

Muestra la ventana minimizada.

#### void showNormal() <a href="#shownormal" id="shownormal"></a>

Muestra la ventana normal.

### Funciones de sólo vistas de datos

#### VRoot root() <a href="#root" id="root"></a>

Devuelve un objeto de la clase [VRoot](https://doc.velneo.com/34/velneo-vdevelop/scripts/lenguajes/javascript/clases/vroot) que representa a la vista dentro de la ventana.

## Ejemplos

### 1. Analiza del contenido de la vista actual

```javascript
///////////////////////////////////////////////////////////
// Ejemplo de análisis del contenido de la vista en curso

// Se obtiene la vista en curso
var view = theMainWindow.currentView();

if ( view )
{
    // Cogemos el objeto "root" de la vista
    var root = view.root();

    if ( r / oot )
    {
        // Cogemos el contenido del root: ficha, lista o ninguno
        var rootContent = root.content();

        if ( rootContent )
        {
            if ( root.objectInfo().inputType() == VObjectInfo.IORecord )
            {
                // Si el contenido es un registro
                alert( "Contenido: ficha del registro " + rootContent.fieldToString( "ID" ) + " - " + rootContent.fieldToString( "NAME" ) );
            }
            else if ( root.objectInfo().inputType() == VObjectInfo.IOList )
            {
                // Si el contenido es una lista
                alert( "Contenido: lista de " + rootContent.listSize() + " registros de la tabla " + rootContent.tableInfo().name() );
            }
        }
        else
            alert( "Contenido ninguno" );
    }
    else
        alert( "No es vista de datos" );
}
else
    alert( "No hay ninguna vista" );
```
