# VMainWindow

Esta clase nos crea un único objeto theMainWindow. Nos da acceso a las funciones de manejo de la ventana principal de la aplicación.

Está disponible en procesos javascript en primer plano, manejadores de eventos javascript (incluido en la versión Velneo 7.11) y QML.

## Funciones

**Generales**

| Retorno | Función                                                      |
| ------- | ------------------------------------------------------------ |
| void    | [customizeWindowHint](#customizewindowhint)( Number nFlags ) |
| Number  | [height](#height)()                                          |
| void    | [hide](#hide)()                                              |
| Boolean | [isFullScreen](#isfullscreen)()                              |
| Boolean | [isMaximized](#ismaximized)()                                |
| Boolean | [isMinimized](#isminimized)()                                |
| Boolean | [isVisible](#isvisible)()                                    |
| void    | [move](#move)( Number x, Number y )                          |
| void    | [resize](#resize)( Number nWidth, Number nHeight )           |
| void    | [setStyleSheet](#setstylesheet)( String szCssText )          |
| void    | [setTitle](#settitle)( String szTitle )                      |
| void    | [show](#show)()                                              |
| void    | [showFullScreen](#showfullscreen)()                          |
| void    | [showMaximized](#showmaximized)()                            |
| void    | [showMinimized](#showminimized)()                            |
| void    | [showNormal](#shownormal)()                                  |
| String  | [styleSheet](#stylesheet)()                                  |
| String  | [title](#title)()                                            |
| Number  | [width](#width)()                                            |
| Number  | [x](#x)()                                                    |
| Number  | [y](#y)()                                                    |

**De docks**

| Retorno                                                                                                              | Función                                                                          |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| [VAbstractDataView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vabstractdataview) | [dockDataView](#dockdataview)( String szIdPrimarioDock )                         |
| VToolbar                                                                                                             | [dockToolbar](#docktoolbar)( String szIdPrimarioDock )                           |
| void                                                                                                                 | [hideDock](#hidedock)( String szIdPrimarioDock )                                 |
| Boolean                                                                                                              | [isDockFloating](#isdockfloating)( String szIdPrimarioDock )                     |
| Boolean                                                                                                              | [isDockVisible](#isdockvisible)( String szIdPrimarioDock )                       |
| void                                                                                                                 | [setDockFeatures](#setdockfeatures)( String szIdPrimarioDock, Number nFeatures ) |
| void                                                                                                                 | [setDockFloating](#setdockfloating)( String szIdPrimarioDock, Boolean bSet )     |
| void                                                                                                                 | [showDock](#showdock)( String szIdPrimarioDock )                                 |

**De barra de menú (MenuBar)**

| Retorno | Función                                                                               |
| ------- | ------------------------------------------------------------------------------------- |
| void    | [addActionToMenuBar](#addactiontomenubar)( String idRefAction )                       |
| void    | [addMenuToMenuBar](#addmenutomenubar)( String idRefMenu )                             |
| void    | [addSeparatorToMenuBar](#addseparatortomenubar)()                                     |
| void    | [addStockMenuToMenuBar](#addstockmenutomenubar)( Number stockmenu )                   |
| void    | [clearMenuBar](#clearmenubar)()                                                       |
| void    | [hideMenuBar](#hidemenubar)()                                                         |
| void    | [insertActionToMenuBar](#insertactiontomenubar)( Number pos, String idRefAction )     |
| void    | [insertMenuToMenuBar](#insertmenutomenubar)( Number pos, String idRefMenu )           |
| void    | [insertSeparatorToMenuBar](#insertseparatortomenubar)( Number pos )                   |
| void    | [insertStockMenuToMenuBar](#insertstockmenutomenubar)( Number pos, Number stockmenu ) |
| Boolean | [isMenuBarVisible](#ismenubarvisible)()                                               |
| void    | [showMenuBar](#showmenubar)()                                                         |

**De acciones**

| Retorno | Función                                         |
| ------- | ----------------------------------------------- |
| void    | [runAction](#runaction)( String szIdRefAction ) |

**De barra de estado (StatusBar)**

| Retorno | Función                                                                                    |
| ------- | ------------------------------------------------------------------------------------------ |
| void    | [clearMessageStatusBar](#clearmessagestatusbar)()                                          |
| String  | [currentMessageStatusBar](#currentmessagestatusbar)()                                      |
| void    | [hideStatusBar](#hidestatusbar)()                                                          |
| Boolean | [isSizeGripEnabledStatusBar](#issizegripenabledstatusbar)()                                |
| Boolean | [isStatusBarVisible](#isstatusbarvisible)()                                                |
| void    | [setSizeGripEnabledStatusBar](#setsizegripenabledstatusbar)( Boolean bSet )                |
| void    | [showMessageStatusBar](#showmessagestatusbar)( String szMsg, Number nMiliSegsTimeout = 0 ) |
| void    | [showStatusBar](#showstatusbar)()                                                          |

**De Widget**

| Retorno                                                                                            | Función                                                                                                                              |
| -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| [VMdiView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmdiview) | [addDataView](#adddataview)( Number tipoObj, String idRefObj, VRegisterList list )                                                   |
| [VMdiView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmdiview) | [addDataView](#vmdiview-adddataview-number-tipoobj-string-idrefobj-vregister-reg-)( Number tipoObj, String idRefObj, VRegister reg ) |
| [VMdiView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmdiview) | [addWebView](#addwebview)( String url )                                                                                              |
| [VMdiView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmdiview) | [addWebViewInspector](#addwebviewinspector)( String url )                                                                            |
| Number                                                                                             | [bootMode](#bootmode)()                                                                                                              |
| void                                                                                               | [closeAllViews](#closeallviews)()                                                                                                    |
| void                                                                                               | [closeCurrentView](#closecurrentview)()                                                                                              |
| void                                                                                               | [closeView](#closeview)( VMdiView view )                                                                                             |
| void                                                                                               | [closeViewAt](#closeviewat)( Number index )                                                                                          |
| [VMdiView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmdiview) | [currentView](#currentview)()                                                                                                        |
| [VMdiView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmdiview) | [getViewAt](#getviewat)( Number index )                                                                                              |
| void                                                                                               | [mdiCascade](#mdicascade)()                                                                                                          |
| void                                                                                               | [mdiTile](#mditile)()                                                                                                                |
| void                                                                                               | [nextView](#nextview)()                                                                                                              |
| void                                                                                               | [prevView](#prevview)()                                                                                                              |
| void                                                                                               | [setBootMode](#setbootmode)( Number nMode )                                                                                          |
| void                                                                                               | [setCurrentView](#setcurrentview)( VMdiView view )                                                                                   |
| Number                                                                                             | [viewsCount](#viewscount)()                                                                                                          |

**Varias**

| Retorno | Función                                                           |
| ------- | ----------------------------------------------------------------- |
| void    | [dialogChangeUserPassword](#dialogchangeuserpassword)()           |
| void    | [hideDockBackgroundProcesses](#hidedockbackgroundprocesses)()     |
| void    | [showDockBackgroundProcesses](#showdockbackgroundprocesses)()     |
| void    | [toggleDockBackgroundProcesses](#toggledockbackgroundprocesses)() |

**De Widgets**

| Retorno | Función                                    |
| ------- | ------------------------------------------ |
| Number  | [widgetType](#widgettype)( Widget widget ) |

**De cuadro de diálogo de ficheros**

| Retorno          | Función                                                                                                                                                  |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| String           | [fileDialogGetExistingDirectory](#filedialoggetexistingdirectory)( String caption, String dir, Number optionFlags = ShowDirsOnly )                       |
| String           | [fileDialogGetOpenFileName](#filedialoggetopenfilename)( String caption, String dir, String filter, String selectedFilter = 0, Number optionFlags = 0 )  |
| Array de Strings | [fileDialogGetOpenFileNames](#filedialoggetopenfilenames)( String caption, String dir, String filter, String selectedFilter = 0, Number optionFlag = 0 ) |
| String           | [fileDialogGetSaveFileName](#filedialoggetsavefilename)( String caption, String dir, String filter, String selectedFilter = 0, Number optionFlags = 0 )  |

## Señales

| Señal               |
| ------------------- |
| Inicializado        |
| On Close            |
| Pre inicialización  |
| Pre-vista eliminada |
| Vista activada      |
| Vista añadida       |
| Vista eliminada     |

## Enumeraciones

**Boot modes**

* ModeTab = 0
* ModeMDI = 1
* ModeSDI = 2

**Flags de características del dock**

* Cerrable = 0x01
* Movible = 0x02
* Flotable = 0x04
* Barra de titulo vertical = 0x08

**Flags de personalización de la barra de título**

* HintTitle = 0x01 - Sin título
* HintSystemMenu = 0x02 - Sin menú del sistema
* HintMinimizeButton = 0x04 - Sin botón minimizar
* HintMaximizeButton = 0x08 - Sin botón maximizar
* HintCloseButton = 0x10 - Sin botón cerrar

**Flags del cuadro de diálogo de ficheros**

* ShowDirsOnly = 0x01 - Solo directorios, por defecto se incluyen directorios y ficheros
* DontResolveSymlinks = 0x02 - No se resuelven los enlaces simbólicos
* DontConfirmOverwrite = 0x04 - No se confirma la sobreescritura de ficheros
* DontUseNativeDialog = 0x10 - No usar el cuadro de diálogo nativo del sistema operativo
* ReadOnly = 0x20 - Modo solo lectura
* HideNameFilterDetails = 0x40 - Indica si se ocultan o no los detalles del filtro de nombre de fichero
* DontUseSheet = 0x08 - No se permite el uso de hojas
* DontUseCustomDirectoryIcons = 0x80 - No usar los iconos personalizados en los directorios

**Menús en stock**

* StockMenuRecord = 0
* StockMenuList = 1
* StockMenuNavigator = 2
* StockMenuWindow = 3
* StockMenuView = 4
* StockMenuPersonalize = 5
* StockMenuPersonalizeStyle = 6
* StockMenuPersonalizeLanguages = 7
* StockMenuPersonalizeTools = 8
* StockMenuAlternativeViews = 9 (No válido en MenuBar)
* StockMenuBaskets = 10 (No válido en MenuBar)
* StockMenuListExt = 11
* StockMenusCount = 12

**Widget Types**

* WTypeDataView = 0
* WTypeMdiView = 1
* WTypeWebView = 2
* WTypeLineEdit = 3
* WTypeTextEdit = 4
* WTypeDateTimeEdit = 5
* WTypeDateEdit = 6
* WTypeTimeEdit = 7
* WTypeNumberSpinBox = 8
* WTypeBoundFieldEdit = 9
* WTypePushButton = 10
* WTypeCheckBox = 11
* WTypeRadioButton = 12
* WTypeTabWidget = 13
* WTypeStackedWidget = 14
* WTypeToolBox = 15
* WTypeSplitter = 16
* WTypeAbstractBrowser = 17
* WTypeImageWidget = 18
* WTypeImageEdit = 19
* WTypeLineEditBrowser = 20
* WTypeFilePathEditBrowser = 21
* WTypeFormulaEditBrowser = 22
* WTypeProgressBar = 23
* WTypeSlider = 24
* WTypeDial = 25
* WTypeLabel = 26
* WTypeComboBox = 27
* WTypeListBox = 28
* WTypeBoundFieldComboBox = 29
* WTypeBoundFieldListBox = 30
* WTypeGroupBox = 31
* WTypeClockWidget = 32
* WTypeGaugeWidget = 33
* WTypeThermometerWidget = 34
* WTypeThumbWheel = 35
* WTypeTreeMenu = 36
* WTypeSvgWidget = 37
* WTypeSvgButton = 38
* WTypeSvgSlideSwitch = 39
* WTypeSvgToggleSwitch = 40
* WTypeDataCatcherEdit = 41
* WTypeBoundFieldEditBrowser = 42
* WTypeDataCatcherEditBrowser = 43
* WTypeNumberSpinBoxBrowser = 44
* WTypeDateTimeEditBrowser = 45
* WTypeDateEditBrowser = 46
* WTypeTimeEditBrowser = 47
* WTypeTreeWidget = 48
* WTypeChartView = 49

## Documentación de funciones

### Funciones generales

#### void customizeWindowHint( Number nFlags ) <a href="#customizewindowhint" id="customizewindowhint"></a>

Personaliza los botones y la barra de título de la ventana.

Parámetros:

* nFlags: Ver enum de personalización de la barra de título. Los valores con combinables mediante el uso del operador bitwise or booleano "|".

#### 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 ventana.

#### Boolean isFullScreen() <a href="#isfullscreen" id="isfullscreen"></a>

Devuelve true si la ventana está a pantalla completa.

#### 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.

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

Devuelve true si la ventana es visible.

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

Mueve la ventana a la posición especificada.

Parámetros:

* x: Posición horizontal en píxeles, contando desde la esquina superior izquierda.
* y: Posición vertical en píxeles, contando desde la esquina superior izquierda.

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

Modifica el tamaño de la ventana.

Parámetros:

* nWidth: Ancho de la ventana en píxeles.
* nHeight: Alto de la ventana en píxeles.

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

Cambia la hoja de estilo (CSS) que se aplicará a la ventana.

Parámetros:

* szCssText: Texto con el CSS a aplicar.

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

Cambia el título de la ventana.

Parámetros:

* szTitle: Texto del nuevo título de la ventana.

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

Muestra la ventana si está oculta.

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

Visualiza la ventana en modo a pantalla completa.

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

Visualiza la ventana en modo maximizada.

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

Visualiza la ventana en modo minimizada.

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

Visualiza la ventana en modo normal.

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

Devuelve la hoja de estilo (CSS) que se está aplicando a la ventana.

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

Devuelve el título de la ventana.

#### 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, píxeles contados desde la esquina superior izquierda.

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

Devuelve la posición y de la ventana, píxeels contados desde la esquina superior izquierda.

### Funciones de docks

#### VAbstractDataView dockDataView( String szIdPrimarioDock ) <a href="#dockdataview" id="dockdataview"></a>

Devuelve el objeto que está dentro del dock especificado, de una de las clases derivadas de [VAbstractDataView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vabstractdataview).

Parámetros:

* szIdPrimarioDock: Identificador del dock.

#### VToolbar dockToolbar( String szIdPrimarioDock ) <a href="#docktoolbar" id="docktoolbar"></a>

Devuelve un objeto de la clase VToolbar (\*) que está dentro del dock especificado.

Parámetros:

* szIdPrimarioDock: Identificador del dock.

(\*) Esta clase todavía no se encuentra disponible

#### void hideDock( String szIdPrimarioDock ) <a href="#hidedock" id="hidedock"></a>

Oculta el dock.

Parámetros:

* szIdPrimarioDock: Identificador del dock.

#### Boolean isDockFloating( String szIdPrimarioDock ) <a href="#isdockfloating" id="isdockfloating"></a>

Devuelve true si el dock está flotante.

Parámetros:

* szIdPrimarioDock: Identificador del dock.

#### Boolean isDockVisible( String szIdPrimarioDock ) <a href="#isdockvisible" id="isdockvisible"></a>

Devuelve true si el dock está visible.

Parámetros:

* szIdPrimarioDock: Identificador del dock.

#### void setDockFeatures( String szIdPrimarioDock, Number nFeatures ) <a href="#setdockfeatures" id="setdockfeatures"></a>

Modifica las características del dock.

Parámetros:

* szIdPrimarioDock: Identificador del dock.
* nFeatures: Ver enum de características del dock. Los valores con combinables mediante el uso del operador bitwise or booleano "|".

#### void setDockFloating( String szIdPrimarioDock, Boolean bSet ) <a href="#setdockfloating" id="setdockfloating"></a>

Fija el dock como flotante.

Parámetros:

* szIdPrimarioDock: Identificador del dock.
* bSet = True para activarlo como flotante, false para desactivarlo como flotante.

#### void showDock( String szIdPrimarioDock ) <a href="#showdock" id="showdock"></a>

Muestra el dock.

Parámetros:

* szIdPrimarioDock: Identificador del dock.

### Funciones de barra de menú (MenuBar)

#### void addActionToMenuBar( String idRefAction ) <a href="#addactiontomenubar" id="addactiontomenubar"></a>

Añade una acción a la barra de menú.

Parámetros:

* idRefAction: IdRef del objeto Acción.

Esta función ha sido incluida en la versión Velneo 7.16.

#### void addMenuToMenuBar( String idRefMenu ) <a href="#addmenutomenubar" id="addmenutomenubar"></a>

Añade un menú a la barra de menú.

Parámetros:

* idRefMenu: IdRef del objeto Menú.

Esta función ha sido incluida en la versión Velneo 7.16.

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

Añade un separador a la barra de menú.

Esta función ha sido incluida en la versión Velneo 7.16.

#### void addStockMenuToMenuBar( Number stockmenu ) <a href="#addstockmenutomenubar" id="addstockmenutomenubar"></a>

Añade una opción de menú en stock a la barra de menú.

Ver enum "Menús en stock".

Son validos todos los menús en stock salvo StockMenuAlternativeViews y StockMenuBaskets.

Parámetros:

* stockMenu: Número correspondiente a la opción de menú en stock. Ver enum de Menús en stock.

Esta función ha sido incluida en la versión Velneo 7.16.

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

Limpia todos los subobjetos que contenga la barra de menús.

Esta función ha sido incluida en la versión Velneo 7.16.

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

Oculta la barra de menú.

#### void insertActionToMenuBar( Number pos, String idRefAction ) <a href="#insertactiontomenubar" id="insertactiontomenubar"></a>

Inserta una acción en una posición específica de la barra de menú.

Parámetros:

* pos: Número que indica la posición de inserción.
* idRefAction: IdRef del objeto Acción.

Esta función ha sido incluida en la versión Velneo 7.16.

#### void insertMenuToMenuBar( Number pos, String idRefMenu ) <a href="#insertmenutomenubar" id="insertmenutomenubar"></a>

Inserta un menú en una posición específica de la barra de menú.

Parámetros:

* pos: Número que indica la posición de inserción.
* idRefMenu: IdRef del objeto Menú.

Esta función ha sido incluida en la versión Velneo 7.16.

#### void insertSeparatorToMenuBar( Number pos ) <a href="#insertseparatortomenubar" id="insertseparatortomenubar"></a>

Inserta un separador en una posición específica de la barra de menú.

Parámetros:

* pos: Número que indica la posición de inserción.

Esta función ha sido incluida en la versión Velneo 7.16.

#### void insertStockMenuToMenuBar( Number pos, Number stockmenu ) <a href="#insertstockmenutomenubar" id="insertstockmenutomenubar"></a>

Inserta una opción de menú en stock en una posición específica de la barra de menú.

Ver enum "Menús en stock".

Son validos todos los menús en stock salvo StockMenuAlternativeViews y StockMenuBaskets.

Parámetros:

* pos: Número que indica la posición de inserción.
* stockMenu: Número correspondiente a la opción de menú en stock. Ver enum de Menús en stock.

Esta función ha sido incluida en la versión Velneo 7.16.

#### Boolean isMenuBarVisible() <a href="#ismenubarvisible" id="ismenubarvisible"></a>

Devuelve true si la barra de menú está visible.

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

Muestra la barra de menú.

### Funciones de acciones

#### void runAction( String szIdRefAction ) <a href="#runaction" id="runaction"></a>

Ejecuta la acción especificada en el parámetro.

Parámetros:

* szIdRefAction: Identificador de referencia (proyecto/identificador) correspondiente al objeto de tipo acción que será ejecutado.

### Funciones de barra de estado (StatusBar)

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

Limpia el mensaje que se está mostrando en la barra de estado.

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

Devuelve el mensaje que se está mostrando en la barra de estado.

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

Oculta la barra de estado si está visible.

#### Boolean isSizeGripEnabledStatusBar() <a href="#issizegripenabledstatusbar" id="issizegripenabledstatusbar"></a>

Devuelve true si está visible el grip de cambio de tamaño de la ventana.

#### Boolean isStatusBarVisible() <a href="#isstatusbarvisible" id="isstatusbarvisible"></a>

Devuelve true si la barra de estado está visible.

#### void setSizeGripEnabledStatusBar( Boolean bSet ) <a href="#setsizegripenabledstatusbar" id="setsizegripenabledstatusbar"></a>

Habilta o deshabilita el grip de cambio de tamaño de la ventana.

Parámetros:

* bSet: True para habilitar el grip de la cambio de tamaño, false para deshabilitar.

#### void showMessageStatusBar( String szMsg, Number nMiliSegsTimeout = 0 ) <a href="#showmessagestatusbar" id="showmessagestatusbar"></a>

Muestra un mensaje en la barra de estado.

Parámetros:

* szMsg: Mensaje de texto a mostrar en la barra de estado.
* nMiliSegsTimeout: Tiempo en milisegundos que estará visible, por defecto 0 = no se oculta el mensaje.

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

Muestra la barra de estado si está oculta.

### Funciones de Widget

#### VMdiView addDataView( Number tipoObj, String idRefObj, VRegisterList list ) <a href="#adddataview" id="adddataview"></a>

Abre una nueva vista visualizando la lista de registros especificada en el tipo de objeto con el identificador de referencia especificado en los parámetros y devuelve el objeto de la vista creada.

Parámetros:

* tipoObj: Tipo de objeto a crear. Ver enum de tipos de objetos en la clase [VObjectInfo](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vobjectinfo).
* idRefObj: idRef (Proyecto/Identificador) del objeto a visualizar.
* list: Objeto de tipo [VRegisterList](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que contiene la lista de registros a visualizar.

Esta función ha sido incluida en la versión Velneo 7.11.

#### VMdiView addDataView( Number tipoObj, String idRefObj, VRegister reg )

Abre una nueva vista visualizando el registro especificado en el tipo de objeto con el identificador de referencia especificado en los parámetros y devuelve el objeto de la vista creada.

Parámetros:

* tipoObj: Tipo de objeto a crear. Ver enum de tipos de objetos en la clase [VObjectInfo](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vobjectinfo).
* idRefObj: idRef (Proyecto/Identificador) del objeto a visualizar.
* reg: Objeto de tipo [VRegister](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) que contiene el registro a visualizar.

Esta función ha sido incluida en la versión Velneo 7.11.

#### VMdiView addWebView( String url ) <a href="#addwebview" id="addwebview"></a>

Abre una nueva vista visualizando un control HTML que visualizará la URL pasada en el parámetro y devuelve el objeto de la vista creada.

Parámetros:

* url: Senda de la página o fichero a visualizar.

Esta función ha sido incluida en la versión Velneo 7.11.

#### VMdiView addWebViewInspector( String url ) <a href="#addwebviewinspector" id="addwebviewinspector"></a>

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

Devuelve el modo de interfaz de documento de la ventana. Ver enum de Boot modes.

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

Cierra todas las vistas.

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

Cierra la vista en curso.

#### void closeView( VMdiView view ) <a href="#closeview" id="closeview"></a>

Cierra la vista correspondiente al objeto pasado en el parámetro.

Parámetros:

* view: Objeto con la vista a cerrar.

Esta función ha sido incluida en la versión Velneo 7.11.

#### void closeViewAt( Number index ) <a href="#closeviewat" id="closeviewat"></a>

Cierra la vista correspondiente al índice indicado en el parámetro.

Parámetros:

* index: Número ordinal de la vista que deseamos cerrar.

Esta función ha sido incluida en la versión Velneo 7.11.

#### VMdiView currentView() <a href="#currentview" id="currentview"></a>

Devuelve el objeto [VMdiView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmdiview) con la vista en curso.

#### VMdiView getViewAt( Number index ) <a href="#getviewat" id="getviewat"></a>

Devuelve el objeto [VMdiView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmdiview) con la vista correspondiente al índice indicado en el parámetro.

Parámetros:

* index: Número ordinal de la vista de la que se desea obtener el objeto [VMdiView](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmdiview).

Esta función ha sido incluida en la versión Velneo 7.11.

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

Aplica el interfaz MDI en cascada.

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

Aplica el interfaz MDI en mosaico.

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

Hace visible la siguiente vista a la vista en curso.

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

Hace visible la vista previa a la vista en curso.

#### void setBootMode( Number nMode ) <a href="#setbootmode" id="setbootmode"></a>

Fijar el modo de interfaz de documento de la ventana.

Parámetros:

* nMode: Ver enum de boot modes.

#### void setCurrentView( VMdiView view ) <a href="#setcurrentview" id="setcurrentview"></a>

Activa como la vista en curso la vista pasada en el parámetro.

Parámetros:

* view: Objeto con la vista en curso a activar.

Esta función ha sido incluida en la versión Velneo 7.11.

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

Devuelve el número de vistas abiertas.

### Funciones varias

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

Muestra el cuadro de diálogo de cambio de contraseña del usuario.

Esta función ha sido incluida en la versión Velneo 7.11.

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

Ocultar el dock que muestra los procesos en ejecución en segundo plano.

Esta función ha sido incluida en la versión Velneo 7.11.

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

Mostrar el dock que muestra los procesos en ejecución en segundo plano.

Esta función ha sido incluida en la versión Velneo 7.11.

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

Conmuta el dock que muestra los procesos en ejecución en segundo plano. Si está visible lo oculta o viceversa.

Esta función ha sido incluida en la versión Velneo 7.11.

### Funciones de Widgets

#### Number widgetType( Widget widget ) <a href="#widgettype" id="widgettype"></a>

Devuelve el tipo de [Widget](https://doc.velneo.com/22/velneo-vdevelop/scripts/lenguajes/javascript/clases/widget) que contiene la vista. Ver enum de widget types.

Esta función ha sido incluida en la versión Velneo 7.11.

### Funciones de cuadro de diálogo de ficheros

#### String fileDialogGetExistingDirectory( String caption, String dir, Number optionFlags = ShowDirsOnly ) <a href="#filedialoggetexistingdirectory" id="filedialoggetexistingdirectory"></a>

Devuelve el directorio seleccionado en el cuadro de diálogo.

Parámetros:

* caption: Nombre del directorio seleccionado que queremos que aparezca escrito por defecto.
* dir: Directorio por defecto que visualiza.
* optionFlags: Configuración del cuadro de diálogo y del filtrado de ficheros. Ver enum de flags de cuadro de diálogo de ficheros, por defecto se muestran solo directorios.

#### String fileDialogGetOpenFileName( String caption, String dir, String filter, String selectedFilter = 0, Number optionFlags = 0 ) <a href="#filedialoggetopenfilename" id="filedialoggetopenfilename"></a>

Devuelve el fichero seleccionado en el cuadro de diálogo.

Parámetros:

* caption: Nombre del fichero seleccionado que queremos que aparezca escrito por defecto.
* dir: Directorio por defecto que se visualiza.
* filter: Filtro de ficheros o extensiones a mostrar. múltiples filtros se deben separar por ";;". Por ejemplo: "Images (\*.png \*.xpm \*.jpg);;Text files (\*.txt);;XML files (\*.xml)"
* selectedFilter: Cuál de los filter aparecerá seleccionado inicialmente en el combobox.
* optionFlags: Configuración del cuadro de diálogo y del filtrado de ficheros. Ver enum de flags de cuadro de diálogo de ficheros.

#### Array de Strings fileDialogGetOpenFileNames( String caption, String dir, String filter, String selectedFilter = 0, Number optionFlag = 0 ) <a href="#filedialoggetopenfilenames" id="filedialoggetopenfilenames"></a>

Devuelve una lista de ficheros seleccionados en el cuadro de diálogo.

Parámetros:

* caption: Nombre del fichero seleccionado que queremos que aparezca escrito por defecto.
* dir: Directorio por defecto que se visualiza.
* filter: Filtro de ficheros o extensiones a mostrar. múltiples filtros se deben separar por ";;". Por ejemplo: "Images (\*.png \*.xpm \*.jpg);;Text files (\*.txt);;XML files (\*.xml)"
* selectedFilter: Cuál de los filter aparecerá seleccionado inicialmente en el combobox.
* optionFlags: Configuración del cuadro de diálogo y del filtrado de ficheros. Ver enum de flags de cuadro de diálogo de ficheros.

#### String fileDialogGetSaveFileName( String caption, String dir, String filter, String selectedFilter = 0, Number optionFlags = 0 ) <a href="#filedialoggetsavefilename" id="filedialoggetsavefilename"></a>

Devuelve el nombre del fichero a guardar especificado en el cuadro de diálogo.

Parámetros:

* caption: Nombre del fichero seleccionado que queremos que aparezca escrito por defecto.
* dir: Directorio por defecto que se visualiza.
* filter: Filtro de ficheros o extensiones a mostrar. múltiples filtros se deben separar por ";;". Por ejemplo: "Images (\*.png \*.xpm \*.jpg);;Text files (\*.txt);;XML files (\*.xml)"
* selectedFilter: Cuál de los filter aparecerá seleccionado inicialmente en el combobox.
* optionFlags: Configuración del cuadro de diálogo y del filtrado de ficheros. Ver enum de flags de cuadro de diálogo de ficheros.

Ejemplo:

```javascript
theMainWindow.fileDialogGetSaveFileName("Save File", "/home/jana/untitled.png", "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)", "Images (*.png *.xpm *.jpg)")
```

## Ejemplos

### 1. Cambiar titulo de la ventana principal

```javascript
// Escribiendo el título directamente
theMainWindow.setWindowTitle( "Nuevo título" );

// Usando variables
var szTitulo = "Aplicación " + szAppName;
theMainWindow.setWindowTitle( szAppName );
```

### 2. Cambiar a modo MDI

```javascript
theMainWindow.setBootMode(1);
```

### 3. Cambiar features de un dock

```javascript
// Barra de titulo vertical + Cerrable
theMainWindow.setDockFeatures( "DOCK_MAIN", 0x09 );
```

### 4. Ver/Ocultar un dock

```javascript
// -----------------------------------------------------------
// Muestra u oculta un dock en función de si está visible o no
// -----------------------------------------------------------
if ( theMainWindow.isDockVisible( "DOCK_MAIN" ) )
{
    theMainWindow.hideDock( "DOCK_MAIN" );
}
else
{
    theMainWindow.showDock( "DOCK_MAIN" );
};
```

### 5. Apagar el boton cerrar del marco

```javascript
theMainWindow.customizeWindowHint(0x01|0x02|0x04|0x08);
```

### 6. Tener una opción de menú abierta sólo una vez en una pestaña

```javascript
// --------------------------------------------------------------------------------
// Busca una vista con el título y si la encuentra la habilita
// Si no la encuentra ejecuta la acción
//
// El proceso recibe 2 parámetros a través de las variables locales
// TITULO = Título de la pestaña
// ACCION = Acción a ejecutar
// -------------------------- 
var numVistas = theMainWindow.viewsCount();
var ejecutar = true;

for ( i = 0; i < numVistas + 1; i++ )
{
    var vista = theMainWindow.currentView()
    if ( vista.title() == theRoot.varToString( "TITULO" ) )
    {
        ejecutar = false;
    }
    else
    {
        theMainWindow.nextView();
    };
}

// Si no se ha encontrado se lanza la acción para abrir la vista y se retorna true (para seguir)
if ( ejecutar == true )
{
    theMainWindow.runAction( theRoot.varToString( "ACCION" ) );
};
```

### 7. Deshabilitar los controles de un formulario

```javascript
/**
 * --------------------------------------------------------------------------------
 * Deshabilita los controles del formulario
 *
 * @param {VFormDataView} formularioParam Formulario a procesar
 * --------------------------------------------------------------------------------
 */
var deshabilitaControles = function ( formularioParam )
{
    if ( formularioParam )
    {        
        var tiposEnabled = [ VMainWindow.WTypeDataView, VMainWindow.WTypeMdiView, 
                             VMainWindow.WTypeWebView, VMainWindow.WTypeTabWidget,
                             VMainWindow.WTypeStackedWidget, VMainWindow.WTypeToolBox,
                             VMainWindow.WTypeSplitter, VMainWindow.WTypeGroupBox ];
        var control;

        for ( var numControl = 0; numControl < formulario.controlCount(); numControl++ )
        {
            control = formulario.control( numControl );

            if ( control )
            {
                tipo = theMainWindow.widgetType( control );
                if ( tiposEnabled.indexOf( tipo ) === -1 )
                {
                    control.enabled = false;
                };
            };
        };
    };
};
```
