Ir para o conteúdo

 Voltar a Ginga-NCL: I...
Tela cheia

Implementação da classe de eventos edit

19 de Julho de 2010, 17:05 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 66 vezes

Olá,

Gostaria de saber  se já foi implementada a classe 'edit' referenciada na página 41 do documento 'Nested Context Language 3.0 Part 10 – Imperative Objects in NCL: The NCLua Scripting Language'. Pois quando tento rodar código que faria uso dessa classe de eventos acabo com o ginga abortando, a linha de erro que me parece ser a mais relevante é:

PANIC: unprotected error in call to Lua API (/misc/ncl30/testeEditClass/main.lua:15: bad argument #-1 to 'post' (string expected, got nil))

O código que a causa é o seguinte:

main.ncl

<?xml version="1.0" encoding="UTF-8"?>
<ncl id="testeEditClass" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
        <head>
                <regionBase>
                        <region id="regionLua" left="35%" />
                        <region id="regionImg" left="35%" right="50%" />
                </regionBase>
                <descriptorBase>
                        <descriptor
                                id="descImg"
                                region="regionImg" />
                        <descriptor
                                id="descLua"
                                region="regionLua" />
                </descriptorBase>
                <connectorBase>
                        <importBase alias="connBase" documentURI="causalConnBase.ncl" />
                </connectorBase>
        </head>
        <body id="body">
                <port id="inicializador" component="lua" />
                <media id="lua" src="main.lua" descriptor="descLua" />
                <link id="link" xconnector="connBase#onEndStart">
                        <bind component="lua" role="onEnd"/>
                        <bind component="img" role="start"/>
                </link>
                <media id="img" type="image/png" descriptor="descImg">
                        <property name="src" />
                </media>
        </body>
</ncl>

main.lua

local evt = {
        command = 'setPropertyValue',
        baseId = '',
        documentId = 'testeEditClass',
        nodeId = 'img',
        propertyId = 'src',
        value = 'logo.png'
}
event.post('out', evt)

O validador ncl não dá nenhum erro nem alerta, o logo.png está onde deveria (na mesma pasta), idem para causalConnBase.ncl.

O objetivo do código é exibir a imagem, a qual a src (sua localização) é definida pelo código lua logo antes de sua exibição.

Obrigado desde já.

Autor: Henrique Becker


99 comentários

  • A687fdf6ce6756b24515f09e00e106ce?only path=false&size=50&d=404José Geraldo de Sousa Junior(usuário não autenticado)
    19 de Julho de 2010, 17:24

     

    Oi Henrique,

     

    faltou um detalhe para a sua tabela de eventos. Você tem que especificar o campo class com valor 'edit', ou seja

     class = 'edit'.

     

    O baseId não é necessário ser especificado, pois o Ginga leva em conta que a base privada é a mesma do documento NCL que se comunicou com o NCLua, quando o baseId não é informado.

     

    Espero ter ajudado.

    • 776d10825e8d996379fd747860491cc6?only path=false&size=50&d=404Henrique Becker(usuário não autenticado)
      20 de Julho de 2010, 14:41

       

      Eu já havia testado isso, pensei que não era necessário especificar a classe edit pois no exemplo do documento que citei anteriormente ele não atribui valor ao campo class da tabela.

      Quando adiciono o campo class, com valor 'edit' na tabela evt o erro passa a ser o seguinte:

      PANIC: unprotected error in call to Lua API (/misc/ncl30/testeEditClass/main.lua:15: invalid event class)

      • A687fdf6ce6756b24515f09e00e106ce?only path=false&size=50&d=404José Geraldo de Sousa Junior(usuário não autenticado)
        21 de Julho de 2010, 13:27

         

        Nas versões anteriores do Ginga, a API de comandos de edição estava em um formato diferente do que você escreveu no seu exemplo. Mas a versão atual já foi modificada. Se você baixar a versão 0.12.1, provavelmente a sua aplicação irá funcionar.

        • 023e7fb10e824e10a4d4bf300adfb4fa?only path=false&size=50&d=404Diogo Pedrosa(usuário não autenticado)
          21 de Julho de 2010, 18:08

           

          Olá, pessoal!

          Fiquei surpreso em saber que a versão 0.12.1 já está no svn. Não tinha visto essa informação em lugar nenhum. Que notícia boa! Não é costume avisar à comunidade quando uma nova versão é comitada? Ou fui eu que me distraí e não li o post em que avisaram?

          Abraços,
          Diogo

          • A687fdf6ce6756b24515f09e00e106ce?only path=false&size=50&d=404José Geraldo de Sousa Junior(usuário não autenticado)
            24 de Julho de 2010, 2:12

             

            Diogo,

            peço desculpas pela informação que eu passei anteriormente. Na verdade, a versão 0.12.1 ainda não foi liberada. Provavelmente, será na semana que vem, após os testes serem completados.

            • 023e7fb10e824e10a4d4bf300adfb4fa?only path=false&size=50&d=404Diogo Pedrosa(usuário não autenticado)
              24 de Julho de 2010, 16:42

               

              Oi, Geraldo!

              Sem problemas! Antes de fazer aquele post, tentei baixar do svn e consegui baixar uma revisão mais nova, daí achei que sua informação estava certa. Mas depois analisando com calma, um amigo percebeu que essa revisão mais nova foi de uma atualização do NCL Eclipse e que o resto do código não tinha sido alterado.

              Obrigado pela atenção! Aguardarei a liberação ;)

              Abraços,
              Diogo

            • 776d10825e8d996379fd747860491cc6?only path=false&size=50&d=404Henrique Becker(usuário não autenticado)
              3 de Agosto de 2010, 22:01

               

              Obrigado pela resposta,

              Eu só consegui ve-la, eu fui pro FISL, e depois foi minha semana de férias da pesquisa, só agora conseguir parar para responder.

              Fico feliz que esteja sendo implementado, a única solução (decente) para o desenvolvimento do software da nossa pesquisa é usando essa classe de eventos. Enquanto não sai essa parte, não há como começar o desenvolvimento real. E não temos bolsista C++ para ajudar nisso, embora eu tenha alguns conhecimentos de C++.

              Novamente obrigado,
              Henrique Becker

            • 776d10825e8d996379fd747860491cc6?only path=false&size=50&d=404Henrique Becker(usuário não autenticado)
              20 de Agosto de 2010, 9:00

               

              José,

              Você poderia precisar melhor quando sairá a versão 0.12.1? Eu não a encontrei no repositório, e a implementação da classe de eventos edit é de suma importância para decidir que rumo tomar no meus grupo de pesquisa.

              Sem ela praticamente todo o nosso planejamento se torna inviável, e nós teriamos que reformular o projeto para algo mais modesto, possível de ser implementado sem a alteração dinâmica da estrutura do NCL por parte da Lua.

              Se alguém mais puder me informar também, eu agradeço.

              Obrigado desde já,
              Henrique Becker

              • 6d8523ee8653cf0ab9ef0e1348918792?only path=false&size=50&d=404Marcio Moreno(usuário não autenticado)
                1 de Abril de 2011, 15:12

                 

                Oi, Henrique.Estamos providenciando a 0.12.2 no svn (ASAP). Enquanto isso, vocês já podem contar com essa versão na máquina virtual. Sds. Marcio Moreno 

Concurso ITU-T de Aplicações para IPTV 2012

13 de Agosto de 2012, 19:38, por Desconhecido

Gostaríamos de lembrar aos possíveis interessados que o prazo de registro para participação no Concurso ITU-T de Aplicações para IPTV 2012 (IPTV Application Challenge) se encerra nesta semana, dia 15 de agosto de 2012. Já o prazo para a submissão de aplicações se encerra no dia 07 de setembro de 2012.



NCL Eclipse 1.6 disponível

10 de Janeiro de 2012, 21:19, por Desconhecido

Caros membros da Comunidade Ginga,



Concursos de Aplicações Ginga-NCL

22 de Setembro de 2011, 3:22, por Desconhecido

    Gostaríamos de relembra-los de que há dois concursos de aplicações Ginga-NCL com inscrições ainda abertas. O convite é aberto a toda a comunidade de desenvolvedores de aplicações para o Middleware Ginga-NCL, em nível internacional. São os seguintes concursos:



Novas versões: Ginga e Ginga-NCL Virtual Set-top Box (v.0.12.3)

1 de Agosto de 2011, 20:58, por Desconhecido



Algumas Boas Notícias da Comunidade Ginga

28 de Julho de 2011, 21:31, por Desconhecido

Autor: Roberto Azevedo