[Ginga-argentina] Interaccion con LUA y NCL

Santiago Lombardi santiago.lombardi at gmail.com
Fri Apr 13 21:23:18 CEST 2012


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? [image: Confundido]
>> 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  [image: Guiño]
>> ... 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" *[image:
>> Confundido]  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[image: Confundido]
>> 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-argentinaSitio 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-argentinaSitio 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-argentinaSitio 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&#243;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/7f6b0b11/attachment-0001.htm 


More information about the Ginga-argentina mailing list