[Ginga-argentina] Interaccion con LUA y NCL
Nicolas Ignacio Roldan
niko_cbes at hotmail.com
Fri Apr 13 21:27:30 CEST 2012
Si !... gracias Santiago!
estaba viendo justo eso
saludos!
nico
Date: Fri, 13 Apr 2012 16:23:18 -0300
From: santiago.lombardi at gmail.com
To: ginga-argentina at lists.ourproject.org
Subject: Re: [Ginga-argentina] Interaccion con LUA y NCL
Nicolas, el Set de la variable lo0 podes ver en el codigo que pegue ayer.
saludos
On Fri, Apr 13, 2012 at 4:14 PM, leo <lisasmendi at lifia.info.unlp.edu.ar> wrote:
Recién tengo un poco de tiempo.
Te hago una pequeña explicación: El service.currentKeyMaster es una variable de sistema que indica sobre que media se están enviando los evento de tecla.
Este valor está asociado a un descriptor sobre el cual vos estás mostrando un media.
Entonces, cuando en tu código definís lo siguiente: <media id="foco" type="application/x-ginga-settings">
<property name="service.currentKeyMaster" value="appFocus"/>
</media>
Le estás indicando al sistema que apunte los eventos de tecla a el media que tenga un descriptor con ese mismo focusIndex.
Ahora si ese media se detiene, y no hay otro media usando ese descriptor, el valor del service.currentKeyMaster pasa a modificarse por otro valor.Es por eso que te indique que modifiques ese mismo valor cada vez que inicies ese media, es un parche. Sería mejor que ese media lua no se pare. Porque tiene un costo en cuanto performance.
Otra cosa más, cuando uno detiene un media Lua, los valores de las variables internas a ese media se pierden.
Para modificar el service.currentKeyMaster deberías definir un causalConnector para modificar esa variable y con eso alcanza.
El 13 de abril de 2012 12:11, Nicolas Ignacio Roldan <niko_cbes at hotmail.com> escribió:
¿Alguien podria mas o menos orientarme en esta duda?
saludos!
nico
From: niko_cbes at hotmail.com
To: ginga-argentina at lists.ourproject.org
Date: Thu, 12 Apr 2012 21:08:04 +0000
Subject: Re: [Ginga-argentina] Interaccion con LUA y NCL
Hola Leo!
Muchas gracias por la respuesta! sos el que siempre esta
... no entendi, ó mejor dicho nose cómo ó donde hacer eso que decis vos ["proba volviendo a modificar el valor de la variable
"service.currentKeyMaster" con el valor de "appFocus" cada vez que inicias el main.lua"]
De hecho nose bien cómo funciona el "service.currentKeyMaster" En el documento ABNTNBR15606 dice
["Identificador (id) del elemento
<media> que detenta el control de
las claves de navegación; si el
elemento no está siendo
presentado o no está pausado, el
control es del formateador "]
... mucho mucho todavia no me doy cuenta para que esta.
Perdon mi ignorancia
Saludos Leo!
nico
Date: Wed, 11 Apr 2012 18:56:03 -0300
From: lisasmendi at lifia.info.unlp.edu.ar
To: ginga-argentina at lists.ourproject.org
Subject: Re: [Ginga-argentina] Interaccion con LUA y NCL
Hola nico, proba volviendo a modificar el valor de la variable
"service.currentKeyMaster" con el valor de "appFocus" cada vez que inicias el main.lua.
El 11 de abril de 2012 15:31, Nicolas Ignacio Roldan <niko_cbes at hotmail.com> escribió:
Buenas Gente de Ginga!
Es una consulta con respecto a LUA y su tratamiento.
Mi objetivo es lograr que cuando presiono el boton "INFO" se muestre una <media > que se carga desde un archivo ".lua"( en donde mostraria infomacion de acuerdo a la tecla que se presione [roja,amarillo,etc]); luego si presiono el boton "MENU" vuelva a la pantalla anterior. y asi sucesivamente... la iteracion con el usuario seria que presione "INFO" y "MENU", asi a cada rato.
bueno.... la primera vez anda bien, presiono "INFO" y me aparece la informacion que carga desde "main.lua" y puedo presionar el "ROJO","AMARILLO","VERDE" y "AZUL" para que me muestre la informacion ... Pero si presiono "MENU" (para regresar) y luego de nuevo "INFO"... ya no me muestra ni me permite la interaccion con el "main.lua"
Tengo el siguiente codigo (Trabajo con 3 archivos : main.ncl/metodos.ncl/main.lua)
------------- el main.ncl ----------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<ncl id="main" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
<head>
<regionBase>
<region id="scriptLua" width="50%" height="80%" left="0%" top="0%" zIndex="3" />
<region id="idBotonInfo" right="2%" bottom="2%" width="50" height="50" zIndex="3" />
<region id="idBotonReturn" right="2%" bottom="2%" width="50" height="50" zIndex="3" />
</regionBase>
<descriptorBase>
<descriptor id="descLua" region="scriptLua" focusIndex="appFocus"/>
<descriptor id="descImagenInfo" region="idBotonInfo"/>
<descriptor id="descImagenReturn" region="idBotonReturn" />
</descriptorBase>
<connectorBase>
<importBase documentURI="metodos.ncl" alias="metodo"/>
</connectorBase>
</head>
<body>
<port id="pInfo" component="imgBotonInfo"/>
<media id="foco" type="application/x-ginga-settings">
<property name="service.currentKeyMaster" value="appFocus"/>
</media>
<media id="LuaPresentation" src="lua/main.lua" descriptor="descLua" />
<media id="imgBotonInfo" src="Imagen/info.png" descriptor="descImagenInfo"/>
<media id="imgBotonReturn" src="Imagen/menu.png" descriptor="descImagenReturn"/>
<link xconnector="metodo#onBeginEndMenu">
<bind role="onSelection" component="imgBotonInfo">
<bindParam name="oSetTecla" value="INFO"/>
</bind>
<bind role="abort" component="imgBotonInfo"/>
<bind role="start" component="LuaPresentation"/>
</link>
<link xconnector="metodo#onBeginEndMenu">
<bind role="onSelection" component="imgBotonReturn">
<bindParam name="oSetTecla" value="MENU"/>
</bind>
<bind role="start" component="imgBotonInfo"/>
<bind role="abort" component="LuaPresentation"/>
</link>
</body>
</ncl>
-------------------------------------------------------------------------------------------------
------------------ metodos.ncl--------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Generated by NCL Eclipse -->
<ncl id="metodos" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
<head>
<connectorBase>
<causalConnector id="onBeginStart">
<simpleCondition role="onBegin" />
<simpleAction role="start"/>
</causalConnector>
<causalConnector id="onEndStop">
<simpleCondition role="onEnd"/>
<simpleAction role="stop"/>
</causalConnector>
<causalConnector id="onBeginEndMenu">
<connectorParam name="oSetTecla"/>
<simpleCondition role="onSelection" key="$oSetTecla"/>
<compoundAction operator="seq">
<simpleAction role="start" qualifier="seq" max="unbounded"/>
<simpleAction role="abort" qualifier="seq" max="unbounded"/>
</compoundAction>
</causalConnector>
</connectorBase>
</head>
<body>
</body>
</ncl>
------------------------------------------------------------------------------------------------
------------------------- main.lua ----------------------------------
function handler(evt)
local titulo=''
local color=''
limpiar()
if evt.class=='key' and evt.type=='press' then
if evt.key == 'RED' or evt.key == 'F1' then
titulo='PILOTOS'
color='red'
leyendaTitulo(color,titulo)
elseif evt.key == 'BLUE' or evt.key=='F4' then
titulo='PISTA'
color='blue'
leyendaTitulo(color,titulo)
elseif evt.key == 'YELLOW' or evt.key=='F3' then
titulo='INFORMACION'
color='yellow'
leyendaTitulo(color,titulo)
elseif evt.key == 'GREEN' or evt.key=='F2' then
titulo='CLIMA'
color='green'
leyendaTitulo(color,titulo)
end
end
end
function leyendaTitulo(color,titulo)
canvas:attrColor(color)
canvas:attrFont('vera',30, 'bold')
canvas:drawText(10, 10, titulo)
canvas:flush()
end
function limpiar()
local leyendaTitulo=canvas:new('Imagen/FondoAzulDegradadoCentro.png')
canvas:compose(0,0,leyendaTitulo)
end
event.register(handler)
---------------------------------------------------------------------------------------
Espero que no sea una consulta engorrosa... estoy seguro que es algo que no estoy haciendo bien
Desde ya muchas Gracias!
saludos
nico
__________________________________________Lista de correo Ginga-argentina at lists.ourproject.org
cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
Sitio web: http://comunidad.ginga.org.ar
Wiki: http://wiki.ginga.org.ar
--
Saludos leo
__________________________________________Lista de correo Ginga-argentina at lists.ourproject.org
cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
Sitio web: http://comunidad.ginga.org.ar
Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo Ginga-argentina at lists.ourproject.org
cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
Sitio web: http://comunidad.ginga.org.ar
Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo Ginga-argentina at lists.ourproject.org
cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
Sitio web: http://comunidad.ginga.org.ar
Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo Ginga-argentina at lists.ourproject.org
cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
Sitio web: http://comunidad.ginga.org.ar
Wiki: http://wiki.ginga.org.ar
--
Saludos leo
__________________________________________Lista de correo Ginga-argentina at lists.ourproject.org
cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
Sitio web: http://comunidad.ginga.org.ar
Wiki: http://wiki.ginga.org.ar
__________________________________________Lista de correo Ginga-argentina at lists.ourproject.org
cambiar suscripción: https://lists.ourproject.org/cgi-bin/mailman/listinfo/ginga-argentina
Sitio web: http://comunidad.ginga.org.ar
Wiki: http://wiki.ginga.org.ar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ourproject.org/pipermail/ginga-argentina/attachments/20120413/7ef25252/attachment-0001.htm
More information about the Ginga-argentina
mailing list