Ir para o conteúdo

 Voltar a Linguagem Lua
Tela cheia

Manupulando Propriedas

17 de Fevereiro de 2010, 15:56 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 28 vezes

Boa tarde, alguém poderia me ensinar como posso utilizar a propriedade service.CurrentFocus, dentro de um conector como condição para o evento?

P.EX.

Se eu pressionar ENTER e o valor da variavel for "1" , então a AÇÃO.

att

Saulo

 

Autor: Saulo Rodrigues


66 comentários

  • 145ea1662b45b86a90b987f094279123?only path=false&size=50&d=404Guilherme Lima(usuário não autenticado)
    18 de Fevereiro de 2010, 15:12

     

    Oi Saulo,

    Voce pode testar a propriedade usando um `assessmentStatement', por exemplo:

    <connectorBase>
      <causalConnector
        id="onSelectionPropertyTestStart">
        <connectorParam name="key" />
        <connectorParam name="val" />
        <!-- condition -->
        <compoundCondition operator="and">
          <simpleCondition role="onSelection"
                           key="$key"/>
          <assessmentStatement comparator="eq">
            <attributeAssessment
              role="propertyTest"
              eventType="attribution"
              attributeType="nodeProperty" />
            <valueAssessment value="$val" />
          </assessmentStatement>
        </compoundCondition>
        <!-- action -->
        <simpleAction role="start"
                      max="unbounded" />
      </causalConnector>
    </conncetorBase>

    ...

    <media id="media1" ... />
    <media id="media2" ... />

    <media id="settings"
           type="application/x-ginga-settings">
      <property name="service.currentFocus"
                value="0" />
    </media>

    ...

    <link xconnector="onSelectionPropertyTestStart">
      <bind component="media1" role="onSelection" />
      <bind component="settings"
            interface="service.currentFocus"
            value="0">
        <bindParam name="val" value="0" />
      </bind>
      <bind component="media2" role="start" />
    </link>

    • 145ea1662b45b86a90b987f094279123?only path=false&size=50&d=404Guilherme Lima(usuário não autenticado)
      18 de Fevereiro de 2010, 15:24

       

      faltou o role no segundo bind do link, o correto eh:

      <link xconnector="onSelectionPropertyTestStart">
        <bind component="media1" role="onSelection" />
        <bind component="settings"
              interface="service.currentFocus"
              role="propertyTest">
          <bindParam name="val" value="0" />
        </bind>
        <bind component="media2" role="start" />
      </link>

      • 54da99c193b17b91e438b73959ced17b?only path=false&size=50&d=404Saulo Rodrigues(usuário não autenticado)
        19 de Fevereiro de 2010, 10:31

         

        Guilherme, eu não consegui fazer funcionar.

        Na verdade, eu li no livro que a propriedade service.currentFocus recebe o valor do focusIndex, então pensei que, condicionando , no conector, o valor da tecla enter mais o valor do atual focusIndex, seria o suficiente para executar.

        Alguem tem ideia como usar deste recurso?

        Segue a ideia de codigo.

        <?xml version="1.0" encoding="ISO-8859-1"?>
        <ncl id="luaTeste1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile" xsi:schemaLocation="http://www.ncl.org.br/NCL3.0/EDTVProfile www.​ncl.​org.​br/N​CL3.​0/pr​ofil​es/N​CL30​EDTV​.xsd​"&gt​;
        <head>
         <regionBase>
          <region id= "rgFundo" top="10%" left="10%" width = "80%" height = "80%" zIndex ="1">
           <region id = "rgTvCt" top= "10%" left="70%" width = "25%" height = "20%" zIndex = "1"/>
           <region id = "rgBt1" top= "70%" left="10%" width = "15%" height = "10%" zIndex = "1"/>
           <region id = "rgBt2" top= "80%" left="10%" width = "15%" height = "10%" zIndex = "1"/>
           
          </region>
         </regionBase>
         
         <descriptorBase>
          <descriptor id= "dFundo" region = "rgFundo"/>
          <descriptor id= "dTvCt" region = "rgTvCt"/>
          <descriptor id= "dBt1" region = "rgBt1" focusIndex="1" moveUp="2"
              moveDown="2" moveRight="2" focusBorderWidth="2" focusBorderColor="yellow"
              selBorderColor="#CCFF00" focusSelSrc = "media/quadro1.jpg"/>
          <descriptor id= "dBt2" region = "rgBt2" focusIndex="2" moveUp="1"
              moveDown="1" moveRight="1" focusBorderWidth="2" focusBorderColor="yellow"
              selBorderColor="#CCFF00"/>
                </descriptorBase>
          
          <connectorBase>
          
          <causalConnector id="onSelectionPropertyTestStart">
           <connectorParam name="key" />
           <connectorParam name="val" />
           <!-- condition -->
           <compoundCondition operator="and">
             <simpleCondition role="onSelection" key="$key"/>
             <assessmentStatement comparator="eq">
            <attributeAssessment
              role="propertyTest"
              eventType="attribution"
              attributeType="nodeProperty" />
            <valueAssessment value="$val" />
             </assessmentStatement>
           </compoundCondition>
           <!-- action -->
           <simpleAction role="start" max="unbounded" />
          </causalConnector>
          
        </head>
        <body>

          <port id= "p1" component = "mFundo"/>
          <!--port id= "p2" component = "mTvCt"/-->
          <port id= "p3" component = "mBt1"/>
          <port id= "p4" component = "mBt2"/>

          <media id= "mFundo" src = "media/MachuPicchu.mpg" descriptor = "dFundo"/>
          <media id= "mTvCt"  src = "media/videoazul.mpg"   descriptor = "dTvCt"/>
          <media id= "mBt1"   src = "media/opcao1.gif"      descriptor = "dBt1">
           
          </media>
          <media id= "mBt2"   src = "media/opcao2.gif"      descriptor = "dBt2"/>
          <media id="settings" type = "application/x-ginga-settings">
           <property name="service.currentFocus" value="0"/> 
          </media>
         
          <link xconnector="onSelectionPropertyTestStart">
            <bind component="mOp1" role="onSelection" />
            <bind component="settings"
            interface="service.currentFocus"
            role="propertyTest">
           <bindParam name="val" value="0" />
            </bind>
            <bind component="mTvCt" role="start" />
          </link>
         
        </body>
        </ncl>

        • 145ea1662b45b86a90b987f094279123?only path=false&size=50&d=404Guilherme Lima(usuário não autenticado)
          19 de Fevereiro de 2010, 11:52

           

          Oi Saulo,

          Segue um exemplo completo.  A tecla vermelha muda o foco entre A e B.  Testei aqui, esta funcionando.

          <?xml version="1.0" encoding="UTF-8"?>
          <ncl id="velha" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">
          <head>
          <regionBase>
          <region id="rgA" width="25%" height="25%"
          top="0" left="0" zIndex="1"/>
          <region id="rgB" width="25%" height="25%"
          bottom="0" right="0" zIndex="1"/>
          </regionBase>

          <descriptorBase>
          <descriptor id="dA" region="rgA" focusIndex="A"/>

          <descriptor id="dB" region="rgB" focusIndex="B"/>
          </descriptorBase>

          <connectorBase>
          <causalConnector id="onKeySelectionPropertyTestSet">
          <connectorParam name="key"/>
          <connectorParam name="val"/>
          <!-- condition -->
          <compoundCondition operator="and">

          <simpleCondition role="onKeySelection" eventType="selection"
          transition="starts" key="$key"/>
          <assessmentStatement comparator="eq">
          <attributeAssessment role="propertyTest"
          eventType="attribution"
          attributeType="nodeProperty"/>
          <valueAssessment value="$val"/>
          </assessmentStatement>
          </compoundCondition>
          <!-- action -->
          <simpleAction role="set" value="$val" max="unbounded" qualifier="seq"/>
          </causalConnector>

          </connectorBase>
          </head>

          <body>
          <port id="pA" component="A"/>
          <port id="pB" component="B"/>

          <media id="A" src="A.png" descriptor="dA"/>
          <media id="B" src="B.png" descriptor="dB"/>

          <media id="settings" type="application/x-ginga-settings">
          <property name="service.currentFocus" value="A"/>
          </media>

          <link xconnector="onKeySelectionPropertyTestSet">
          <bind component="A" role="onKeySelection">
          <bindParam name="key" value="RED"/>
          </bind>
          <bind component="settings"
          interface="service.currentFocus" role="propertyTest">

          <bindParam name="val" value="A"/>
          </bind>
          <bind component="settings"
          interface="service.currentFocus" role="set">
          <bindParam name="val" value="B"/>
          </bind>
          </link>

          <link xconnector="onKeySelectionPropertyTestSet">
          <bind component="A" role="onKeySelection">

          <bindParam name="key" value="RED"/>
          </bind>
          <bind component="settings"
          interface="service.currentFocus" role="propertyTest">
          <bindParam name="val" value="B"/>
          </bind>
          <bind component="settings"
          interface="service.currentFocus" role="set">
          <bindParam name="val" value="A"/>
          </bind>
          </link>
          </body>
          </ncl>

          • 54da99c193b17b91e438b73959ced17b?only path=false&size=50&d=404Saulo Rodrigues(usuário não autenticado)
            22 de Fevereiro de 2010, 9:00

             

            Beleza! deu certo!

            Agora preciso saber, P.EX. quando eu aciono o botão e executa o link, eu quero tirar o focusBorder, para que, enquanto executa o link o usuário não tenha acesso ao focus do botão.

            att

            saulo 

             

            • A687fdf6ce6756b24515f09e00e106ce?only path=false&size=50&d=404José Geraldo de Sousa Junior(usuário não autenticado)
              26 de Fevereiro de 2010, 15:08

               

              Saulo, a idéia que eu te daria é colocar um bind com role=set da variavel service.currentFocus no seu link, antes de executar a açao que voce deseja fazer, para outra mídia que não seja o botão. Assim o foco não estará no botão durante aquela ação. Depois, se preciso, você retorna o service.currentFocus para o botão.

               Espero ter ajudado. Se eu tiver entendido errado, pode postar a pergunta novamente.

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