VExtension
Este clase representa la extensión en Velneo vDevelop. Dispone de funciones para ver información de los proyectos, acceso a la solución, etc.
El objeto theExtension
Todos los scripts de extensiones en Velneo vDevelop están conectados a un objeto global y único que representa la extensión cuyo nombre es theExtension. Para ello, debemos incluir en nuestro código QML el import correspondiente:
También está disponible el objeto theApp en Velneo vDevelop, del cuál podemos usar las funciones que tienen sentido en edición. Los grupos de funciones disponibles son: generales, proyectos, cursor, constantes, DOS: directorios, DOS: ficheros, info local actual, info local del sistema, impresoras, multimedia y la función sysInfo. Los grupos no disponibles son: variables globales, variables globales array, variables de sistema, sistema, mantenimiento de Base de datos, tablas estáticas, cestas, impresión de informes, mensajería interna, vista de datos, estilos, TLS/SSL.
Herencia
Hay que tener en cuenta que la extensión da acceso al proyecto principal con el que se ha arrancado la aplicación y todos sus objetos heredados lo que permite el acceso y uso de cualquier objeto de la aplicación desde cualquier script.
Está disponible en scripts ejecutados en Velneo vDevelop.
Funciones
De configuración
Retorno | Función |
String | |
void | executeExtension( String szExtension ) |
String | |
void | setAutoClose( Boolean bAutoCerrar ) |
void | setDialog( Boolean bDialogo ) |
void | setFixedSize( Boolean bFijo ) |
De ventana
Retorno | Función |
void | close() |
void | setWindowTypeFlags( flags ) |
De conexión
Retorno | Función |
Number | connectServer( String szVRL, String szUsuario, String, szContraseña ) |
Boolean | |
Boolean |
De solución
Retorno | Función |
void | openSolution( String szVRL ) |
void | |
Boolean | runInstallWizard( String szSendaInstalador ) |
void |
De proyecto
Retorno | Función |
Number | projectCount( Number nProjectType ) |
void | openProject( VProjectInfo projectInfo ) |
De objeto
Retorno | Función |
void | openObject( VObjectInfo objectInfo ) |
De instancias
Retorno | Función |
VInstanceList | appInstances( VSolutionInfo solucion ) |
VInstanceList | datInstances( VSolutionInfo solucion ) |
De directorios
De ficheros
Retorno | Función |
newFile( String szSenda ) | |
newTextFile( String szSenda ) |
De sistema
Retorno | Función |
newSettings( String szOrganizacion, String szAplicacion ) |
De base de datos externas
Retorno | Función |
VSqlDataBase |
De webservice
Retorno | Función |
Enumeraciones
Errores de conexión
OkVatp = okVatp
ErrorSocket = errorSocket
ErrorCommandClose = errorCierreComando
ErrorCommand = errorComando
ErrorUnknownCommandCommand = errorComandoDesconocido
ErrorUserPassword = errorUsuarioPassword
ErrorUnknownSolution = errorSitioDesconocido
ErrorUnknownProject = errorCajaDesconocida
ErrorAlreadyExists = errorYaExiste
ErrorNotExist = errorNoExiste
ErrorBatonHitch = errorTestigoEnganche
ErrorUnauthorized = errorNoAutorizado
ErrorOperation = errorOperacion
ErrorLockedProject = errorCajaBloqueada
ErrorProjectNoLocked = errorCajaSinBloquear
ErrorUnknownInstance = errorInstanciaDesconocida
ErrorUnknownRegister = errorTablaDesconocida
ErrorUnknownIndex = errorIndiceDesconocido
ErrorUnknownField = errorCampoDesconocido
ErrorUnknownTransaction = errorTransaccionDesconocida
ErrorBusyRegister = errorFichaOcupada
ErrorRegisterHasHistorical = errorFichaTieneHistoricos
ErrorNonexistentRegister = errorFichaInexistente
ErrorRegisterFieldColission = errorFichaColisionCampo
ErrorDiscReading = errorDiscoLectura
ErrorDiscWriting = errorDiscoEscritura
ErrorNullDirRegister = errorFichaDirNula
ErrorInstanceWithHooks = errorInstanciaConEnganches
ErrorLockedInstance = errorInstanciaBloqueada
ErrorUserWithHooks = errorUsuarioConEnganches
ErrorBusyUndoneByTransactionRegister = errorTransaccionDeshechaPorFichaOcupada
ErrorConnectionServer = errorConexionConServer
ErrorCodeAlreadyExists = errorCodigoYaExiste
ErrorInvalidCode = errorCodigoNoValido
ErrorKeyAlreadyExists = errorKeyYaExiste
ErrorFreeRegister = errorFichaLibre
ErrorRejectedByTriggerRegister = errorFichaRechazadoPorTrigger
ErrorUnknown = errorDesconocido
ErrorTherAreProjectsWithInstances = errorHayCajasConInstancias
ErrorProcess = errorProceso
ErrorUnmatchedOrigin = errorNoCoincideOrigen
ErrorNoLicensesAvailable = errorSinLicenciasDisponibles
ErrorOldBrowser = errorNavegadorAnticuado
ErrorDifferentBrowserVersion = errorNavegadorDiferenteVersion
ErrorInstanceUsedByOther = errorInstanciaUsadaPorOtrasInstancias
ErrorHookWithOngoingTasks = errorEngancheConTareasEnCurso
ErrorBlockedUser = errorUsuarioBloqueado
ErrorCreateSolution = errorCrearSolucion
ErrorWithInstanceDataFolder = errorCarpetaConDatosDeInstancias
ErrorRegistersUnchanged = errorFichaSinModificaciones
ErrorFileWithInstanceDataFile = errorFicheroConDatosDeInstancias
ErrorOrderExpressesUndoneByTransaction = errorTransaccionDeshechaPorOrdenExpresa
ErrorTransactionFinished = errorTransaccionFinalizada
ErrorInstanceWithTasksRunning = errorInstanciaConTareasEjecutandose
ErrorBlockTables = errorBloquearTablas
ErrorCopyInstance = errorCopiarInstancia
Flags de ventana de diálogo
WindowTypeMSWindowsFixedSizeDialogHint = 0x00000100 - En Windows asigna un borde fino de diálogos de tamaño fijo (sólo ventanas modales)
WindowTypeCoverWindow = 0x00000040 | WindowTypeWindow - Previsualización
WindowTypeForeignWindow = 0x00000020 | WindowTypeWindow - Nativa externa al programa
WindowTypeSubWindow = 0x00000012 - Subventana
WindowTypeDesktop = 0x00000010 | WindowTypeWindow - Ventana de herramientas
WindowTypeSplashScreen = WindowTypeToolTip | WindowTypeDialog
WindowTypeToolTip = WindowTypePopup | WindowTypeSheet
WindowTypeTool = WindowTypePopup | WindowTypeDialog
WindowTypePopup = 0x00000008 | WindowTypeWindow - Modal
WindowTypeDrawer = WindowTypeSheet | WindowTypeDialog
WindowTypeSheet = 0x00000004 | WindowTypeWindow - Ventana tipo hoja de Mac
WindowTypeDialog = 0x00000002 | WindowTypeWindow - Ventana diálogo (sin botones de maximizar o minimizar)
WindowTypeWindow = 0x00000001 - Tipo ventana, compuesta por marco y barra de título. No se quita si no tiene padre
WindowTypeWidget = 0x00000000 - Tipo por defecto
WindowTypeNoDropShadowWindowHint = 0x40000000 - Deshabilita sombra si está soportado
WindowTypeFramelessWindowHint = 0x00000800 - Ventana sin borde. No es posible moverla ni cambiar el tamaño (sólo ventanas modales)
WindowTypeX11BypassWindowManagerHint = BypassWindowManagerHint - Obviar el sistema de ventanas (queda inacessible)
WindowTypeBypassWindowManagerHint = 0x00000400 - Depende del sistema, desactiva el sistema de ventanas (sólo ventanas modales)
WindowTypeMSWindowsOwnDC = 0x00000200 - Establece a la ventana su propio contexto de presentación en Windows (sólo ventanas mod
WindowTypeCustomizeWindowHint = 0x02000000 - Requerida para configurar la ventana
WindowTypeWindowTitleHint = 0x00001000 - Establece una barra de título en la ventana (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowSystemMenuHint = 0x00002000 - Añade un menú de sistema y un botón de cerrar (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowMinimizeButtonHint = 0x00004000 - Añade botón de minimizar en función del s.o. (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowMaximizeButtonHint = 0x00008000 - Añade botón de maximizar en función del s.o. (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint
WindowTypeWindowCloseButtonHint = 0x08000000 - Botón cerrar (Requiere WindowTypeCustomizeWindowHint y WindowTypeWindowSystemMenuHint)
WindowTypeWindowContextHelpButtonHint = 0x00010000 - Incluye un botón de ayuda (Requiere WindowTypeCustomizeWindowHint y WindowTypeMenuHint)
WindowTypeMacWindowToolBarButtonHint = 0x10000000 - Añade botón de toolbar en Mac (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowFullscreenButtonHint = 0x80000000 - En Mac, pantalla completa (Requiere WindowTypeCustomizeWindowHint)
WindowTypeBypassGraphicsProxyWidget = 0x20000000 - Encima aunque el padre quede oculto (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowShadeButtonHint = 0x00020000 - Añade un botón sombreado en función del s.o. (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowStaysOnTopHint = 0x00040000 - Sobre todas las del escritorio (Requiere WindowTypeCustomizeWindowHint y 0x00000400)
WindowTypeWindowStaysOnBottomHint = 0x04000000 - En Windows, se pone la ventana al fondo (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowTransparentForInput = 0x00080000 - No tiene input (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowOverridesSystemGestures = 0x00100000 - No acepta gestos táctiles (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowDoesNotAcceptFocus = 0x00200000 - No recibe foco (Requiere WindowTypeCustomizeWindowHint)
WindowTypeMaximizeUsingFullscreenGeometryHint = 0x00400000 - Pantalla completa (Requiere WindowTypeCustomizeWindowHint)
WindowTypeWindowType_Mask = 0x000000ff - Máscara para extraer la parte de tipo de ventana de los flags de ventana
Tipos de proyecto
VInfoProjectForScript.TypeApp = 1
VInfoProjectForScript.TypeDat = 0
Documentación de funciones
Funciones de configuración
String actionParameter()
Devuelve el parámetro indicado en la acción que dispara la extensión.
String extensionDirPath()
Devuelve la senda en disco de la extensión en curso.
void executeExtension( String szExtension )
Ejecuta la extensión que pasemos como parámetro.
Parámetros:
szExtension: nombre de la extensión a ejecutar.
void setAutoClose( Boolean bAutoCerrar )
Establece que la ventana de la extensión en curso se cierre cuando cambiamos de proyecto.
Parámetros:
bAutoCerrar: true o false para definir si queremos que se cierre de forma automática al cambiar de proyecto o no.
void setDialog( Boolean bDialogo )
Establece que la ventana de la extensión en curso se muestre construya en modo diálogo.
Parámetros:
bAutoCerrar: true o false para definir si queremos que se cierre de forma automática al cambiar de proyecto o no.
Nota:
Ha de usarse en la construcción del componente QML principal para que tenga efecto.
void setFixedSize( Boolean bFijo )
Establece cuando la ventana está en diálogo si es posible redimensionarla o no.
Parámetros:
bFijo: booleano que define si es fijo (true) o redimensionable (false).
Funciones de ventana
void close()
Cierra la ventana de la extensión, finalizando su ejecución.
void setWindowTypeFlags( flags )
Establece la configuración de la ventana cuando está en diálogo.
Parámetros:
flags: flags que definen las opciones disponibles. Ver enum de flags.
Nota:
El soporte y correcto funcionamiento de los flags depende enteramente del sistema operativo.
Funciones de conexión
Number connectServer( String szVRL, String szUsuario, String, szContraseña )
Conecta con el servidor de Velneo cuya URL indicamos como parámetro, usando el usuario y contraseña especificados.
Parámetros:
szVRL: VRL del servidor: "vatp://dominio_ip:puerto".
szUsuario: nombre del usuario
szContraseña: contraseña del usuario
Para retorno de errores ver enum de Errores de conexión.
Boolean connectServerDialog()
Muestra el cuadro de diálogo estándar de conexión con el servidor de Velneo.
Retorna true si se ha realizado la conexión, false si no se ha realizado y el usuario cancela.
Boolean isConnected()
Retorna true o false en función de si estamos conectados con el servidor de Velneo o no.
Funciones de solución
VSolutionInfo currentSolutionInfo()
Devuelve un objeto VSolutionInfo de la solución en curso.
VSolutionInfo newSolution()
Abre el cuadro de diálogo de nueva solución.
void openSolution( String szVRL )
Abre la solución cuya VRL pasemos como parámetro.
Parámetros:
szVRL: vrl de la solución a abrir.
void openSolutionDialog()
Abre el cuadro de diálogo "abrir solución" de Velneo vDevelop. En el caso de que no estemos conectados con un servidor, presentará antes la ventana de conexión con el servidor.
Boolean runInstallWizard( String szSendaInstalador )
Inicia el asistente de instalación de un fichero con extensión .vin que indiquemos como parámetro.
Parámetros:
szSendaInstalador: senda del instalador .vin que vamos a instalar.
void runSolution()
Inicia la ejecución de la solución en curso. Debe tener instancias creadas previamente.
Funciones de proyecto
VProjectInfo currentProjectInfo()
Devuelve el objeto VProjectInfo del proyecto principal en curso.
Number projectCount( Number nProjectType )
Devuelve el número de proyectos en la solución del tipo que pasemos como parámetro.
Parámetros:
nProjectType: tipo de proyecto. Ver enum de tipos de proyecto.
Nota: sólo es funcional en extensiones de Velneo vDevelop.
void openProject( VProjectInfo projectInfo )
Abre el proyecto en el editor cuyo puntero pasamos como parámetro.
Parámetros:
projectInfo: objecto correspondiente al proyecto.
Funciones de objeto
VObjectInfo currentObject()
Permite acceder al objeto seleccionado en el editor en el proyecto en curso, retornando el correspondiente VObjectInfo.
void openObject( VObjectInfo objectInfo )
Abre el objeto en el editor cuyo puntero pasamos como parámetro.
Parámetros:
objectInfo: VObjetoInfo del objeto que queremos abrir.
Funciones de instancias
VInstanceList appInstances( VSolutionInfo solucion )
Retorna un objeto VInstanceList que contiene la lista de instancias de aplicación de la solución en curso.
Parámetros:
solucion: objeto VSolutionInfo que representa la solución de la que queremos conocer las instancias disponibles.
Nota: sólo disponible para extensiones de Velneo vDevelop
VInstanceList datInstances( VSolutionInfo solucion )
Retorna un objeto VInstanceList que contiene la lista de instancias de datos de la solución en curso.
Parámetros:
solucion: objeto VSolutionInfo que representa la solución de la que queremos conocer las instancias disponibles.
Nota: sólo disponible para extensiones de Velneo vDevelop.
Funciones de directorios
VDir newDir()
Crea un objeto VDir para la gestión de un directorio que pasemos como parámetro.
Funciones de ficheros
VFile newFile( String szSenda )
Crea un objeto VFile para la gestión del fichero en disco que especificamos como parámetro.
Parámetros:
szSenda: senda del fichero en disco.
VTextFile newTextFile( String szSenda )
Crea un objeto VTextFile para la gestión del fichero del texto en disco que especificamos como parámetro.
Parámetros:
szSenda: senda del fichero de texto en disco.
Funciones de sistema
VSettings newSettings( String szOrganizacion, String szAplicacion )
Crea un objeto VSettings para la gestión de una rama de configuración del sistema correspondiente a la Organización y la aplicación que pasemos como parámetro.
Parámetros:
szOrganizacion: rama de la organizacion en la que queremos establecer o leer un valor.
szAplicacion: rama de la aplicación en la que queremos establecer o leer un valor.
Nota:
En Windows se accede al registro, en linux a ficheros con extensión .ini y en mac a ficheros con extensión .plist.
Funciones de base de datos externas
VSqlDataBase newSqlDatabase()
Inicializa un acceso a base de datos externa. Devuelve el puntero al acceso a base de datos externa.
Debemos hacer uso del subapi de Bases de datos externas para configurar el acceso y conectarnos para operar.
Funciones de webservice
XMLHttpRequest newXMLHttpRequest()
Crea un nuevo objeto XMLHttpRequest para la obtención de URL's para el acceso a webservices.
Ejemplos
Ejemplo de uso de las funciones de configuración de extensión
Última actualización