Ir para o conteúdo

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

Alteração de uma propriedade de uma mídia em um nó NCL aninhado.

6 de Janeiro de 2011, 15:18 , por Desconhecido - | 1 Pessoa seguindo este artigo.
Visualizado 22 vezes

Olá a todos, estou tentando fazer o seguinte: Eu tenho um documento ncl (pai) e um documento ncl dentro dele (filho) na forma de um elemento de mídia (<media type=“application/x-ncl-NCL” ...>) esse nó filho tem uma propriedade que é externada dentro do pai (<media ...><property id="colorHandler" /></media>) e a qual é relacionada dentro do filho com a propriedade de cor de um texto (<port id="colorHandler" component="texto" interface="fontColor" />), tal qual como é especificado em "Part 11 – Declarative Objects in NCL: Nesting Objects with NCL Code in NCL Documents", página 13, quarto e quinto parágrafo.

No entanto o efeito esperado, passar uma cor a partir do documento externo para o interno por um ponto de interface não se observa. A atribuição é feita (segundo as mensagens de debug) no ponto de interface, não tem efeito no nó interno, aparentemente só afetando como seu valor no documento pai somente.

O código dos dois arquivos está a seguir, os textos dos elementos de mídia, e a base de conectores, não acredito que sejam de utilidade para resolução desse problema.
O validador ncl (nclvalidator feito em java) não acusa nenhum erro.

parent.ncl

<?xml version="1.0" encoding="UTF-8"?>
<ncl id="parent" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
    <head>
        <regionBase>
            <region id="rLabelVerde" top="80%" left="16%" width="12%" height="5%" />
            <region id="rLabelAzul" top="80%" left="44%" width="12%" height="5%" />
            <region id="rLabelVermelho" top="80%" left="72%" width="12%" height="5%" />
            <region id="rChild" top="25%" left="25%" width="50%" height="50%" />
        </regionBase>

        <descriptorBase>
            <descriptor
                id="dLabelVerde"
                region="rLabelVerde"
                focusIndex="ix0"
                moveRight="ix1" />
            <descriptor
                id="dLabelAzul"
                region="rLabelAzul"
                focusIndex="ix1"
                moveRight="ix2"
                moveLeft="ix0"/>
            <descriptor
                id="dLabelVermelho"
                region="rLabelVermelho"
                focusIndex="ix2"
                moveLeft="ix1"/>
            <descriptor
                id="dChild"
                region="rChild"/>
        </descriptorBase>

        <connectorBase>
            <importBase alias="connBase" documentURI="causalConnBase.ncl" />
        </connectorBase>
    </head>
    <body id="bodyParent">
        <port id="parentInit" component="labelVerde" />
        <link id="initLink" xconnector="connBase#onBeginStartN">
            <bind component="labelVerde" role="onBegin"/>
            <bind component="labelAzul" role="start"/>
            <bind component="labelVermelho" role="start"/>
            <bind component="child" interface="initChild" role="start"/>
        </link>

        <media type="application/x-ginga-settings" id="programSettings">
            <property name="service.currentKeyMaster" value="bodyParent"/>
            <property name="service.currentFocus" value="ix0"/>
        </media>
        <media id="labelVerde" src="verde.txt" descriptor="dLabelVerde" />
        <media id="labelAzul" src="azul.txt" descriptor="dLabelAzul" />
        <media id="labelVermelho" src="vermelho.txt" descriptor="dLabelVermelho" />
        <media id="child" src="child.ncl" descriptor="dChild" >
            <area id="initChild" label="initChild" />
            <property name="colorHandler" value="white" />
        </media>

        <link id="bVerde" xconnector="connBase#onSelectionSetVar">
            <bind component="labelVerde" role="onSelection" />
            <bind component="child" interface="colorHandler" role="set">
                <bindParam name="var" value="green" />
            </bind>
        </link>
        <link id="bAzul" xconnector="connBase#onSelectionSetVar">
            <bind component="labelAzul" role="onSelection" />
            <bind component="child" interface="colorHandler" role="set">
                <bindParam name="var" value="blue" />
            </bind>
        </link>
        <link id="bVermelho" xconnector="connBase#onSelectionSetVar">
            <bind component="labelVermelho" role="onSelection" />
            <bind component="child" interface="colorHandler" role="set">
                <bindParam name="var" value="red" />
            </bind>
        </link>
    </body>
</ncl>

child.ncl

<?xml version="1.0" encoding="UTF-8"?>
<ncl id="child" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
    <head>
        <regionBase>
            <region id="rTexto" />
        </regionBase>

        <descriptorBase>
            <descriptor id="dTexto" region="rTexto" />
        </descriptorBase>

        <connectorBase>
            <importBase alias="connBase" documentURI="causalConnBase.ncl" />
        </connectorBase>
    </head>
    <body>
        <port id="initChild" component="texto" />
        <port id="colorHandler" component="texto" interface="fontColor" />

        <media id="texto" src="texto.txt" descriptor="dTexto" >
            <property name="fontColor" />
        </media>

        <link id="reAtribui" xconnector="connBase#onEndAttributionSet">
            <bind component="texto" interface="fontColor" role="onEndAttribution" />
            <bind component="texto" interface="fontColor" role="corAtual" />
            <bind component="texto" interface="fontColor" role="set">
                <bindParam name="var" value="$corAtual" />
            </bind>
        </link>
    </body>
</ncl>

Autor: Henrique Becker


22 comentários

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