Se cmpItemCoverflow estender Panel, sim, deveria deixar de
disparar TypeError.

Com este ultimo snippet, se adicionares mais que um ficas com um coverflow
funcional?
O método addElement é definido na classe Container e não vejo nenhum
override tanto em BasePV3DContainer como em CoverFlowContainer.

Experimenta com o addChild como falei anteriormente.

Em 11 de agosto de 2010 15:00, João Cardoso <[email protected]>escreveu:

> relativamente ao usar a informacao do array, e o proximo passo,
> primeiro queria construir esta parte.
>
> estive a efectuar uns testes com isto com este codigo funciona, mas
> não com o original:
>
>  var panelcurso:Panel= new Panel();
>        panelcurso.width=300;
>        panelcurso.height=300;
>
>        var lblNomeCurso:Label= new Label();
>        lblNomeCurso.id="lblNomeCurso";
>        lblNomeCurso.text= "asd";
>
>        var lblDataCurso:Label= new Label();
>        lblDataCurso.id="lblDataCriacao";
>        lblDataCurso.text="xpto";
>
>        panelcurso.addElement(lblNomeCurso);
>        panelcurso.addElement(lblDataCurso);
>
>        cursoscoverflow.addElement(panelcurso);
>
>
>
> o que é diferente do meu componente?
> sao os dois um objecto panel....logo deveriam funcionar certo????
>
>
> On Aug 11, 2:52 pm, Nuno Rosa <[email protected]> wrote:
> > a classe cmpItemCoverflow precisa implementar o interface
> INavigatorContent,
> > dai vem o erro.
> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx...
> >
> > mas dando uma vista de olhos pelo código do CoverFlowContainer, tens de
> > utilizar o método *addChild* e podes adicionar desde que cmpItemCoverflow
> >  seja um displayobject (Sprite, Bitmap, etc)
> >
> > *cursoscoverflow.addChild(**coverflowitem);*
> >
> >  Finalmente no ciclo for não era suposto usares informação da colecção
> > ArrListaCursos?
> >
> > *//BasePV3DContainer.as**override** **public** **function**
> > **addChild**(**child**:**DisplayObject**)**:**DisplayObject** **{*
> >
> > *            **var** **child**:**DisplayObject** **=**
> > **super**.**addChild**(**child**)**;
> >
> >             **if**(**reflectionEnabled**)** **{**
> >                 **var** **reflMaterial**:**MovieMaterial** **=**
> > **new** **ReflectionFlexMaterial**(**child**)**;
> >
> >                 **var** **reflection**:**Plane** **=** **new**
> > **Plane**(**reflMaterial**, **child**.**width**, **child**.**height**,
> > **segments**, **segments**)**;
> >                 **scene**.**addChild**(**reflection**)**;
> >
> >                 **objectsToReflections**[**child**]** **=**
> **reflection**;
> >             **}**
> >
> >             **var** **material**:**MovieMaterial** **=** **new**
> > **FlexMaterial**(**child**, **true**)**;
> >             **material**.**smooth** **=** **true**;
> >
> >             **var** **plane**:**Plane** **=** **new**
> > **Plane**(**material**, **child**.**width**, **child**.**height**,
> > **segments**, **segments**)**;
> >             **scene**.**addChild**(**plane**)**;
> >
> >             **containersToObjects**[**plane**.**container**]** **=**
> **child**;
> >
> >             **//once the Plane is added to the scene we can access the
> > container property, which we use to handle**            **//mouse
> > clicks**
> > **plane**.**container**.**addEventListener**(**MouseEvent**.**CLICK**,
> > **containerClicked**)**;
> >
> >             **objectsToPlanes**[**child**]** **=** **plane**;
> >
> >             **return** **child**;
> >         **}*
> >
> > Em 11 de agosto de 2010 14:23, João Cardoso <[email protected]
> >escreveu:
> >
> > > estive a fazer debug e a procura de referencia ao INavigatorContent e
> > > não tenho lá nada
> >
> > > o que faço então adiciono o interface nos imports?
> >
> > > On 11 Ago, 14:15, Nuno Rosa <[email protected]> wrote:
> > > > o cmpItemCoverflow implementa o interface INavigatorContent?
> >
> > > > Em 11 de agosto de 2010 14:04, João Cardoso <[email protected]
> > > >escreveu:
> >
> > > > > boas tardes.
> > > > > Estou a tentar implementar um coverflow no flex e estou com uns
> > > > > ligeiros problemas.
> > > > > usei este componente como base.
> > > > >http://dougmccune.com/blog/2007/11/03/coverflow-flex-component/
> >
> > > > > estou a tentar que seja preenchido dinamicamente consoante o que
> tenho
> > > > > num arraycollection
> > > > > para tal estou a usar este codigo:
> >
> > > > > // ciclo para preencher
> >
> > > > >                                for (var
> > > > > i:int=0;i<ArrListaCursos.length;i++){
> >
> > > > >                                        var
> > > coverflowitem:cmpItemCoverflow=
> > > > > new cmpItemCoverflow();
> >
> > > > >  cursoscoverflow.addElement(coverflowitem);
> >
> > > > >                                }
> > > > >                                // altera as propriedades do objecto
> >
> > > > >  coverscrollbar.maxScrollPosition=cursoscoverflow.numChildren-1;
> >
> > > > >  coverscrollbar.scrollPosition=cursoscoverflow.selectedIndex;
> > > > >                                cursoscoverflow.selectedIndex=0;
> > > > >                                //
> >
> > > > >                                // altera as propriedades do
> componente
> > > > >                                cursoscoverflow.segments= 6;
> > > > >                                //
> >
> > > > > o coverflowitem e o meu componente que estou a tentar adicionar
> > > > > dinamicamente.
> > > > > mas ao tentar isto sou presenteado com este erro:
> > > > > TypeError: Error #1034: Type Coercion failed: cannot convert
> > > > > coverflow::cmpitemcoverf...@139e2851 to mx.core.INavigatorContent.
> > > > > at mx.containers::ViewStack/get
> selectedChild()[E:\dev\4.0.0\frameworks
> > > > > \projects\framework\src\mx\containers\ViewStack.as:628]
> > > > > at mx.containers::ViewStack/instantiateSelectedChild()[E:\dev
> > > > >
> \4.0.0\frameworks\projects\framework\src\mx\containers\ViewStack.as:
> > > > > 1242]
> > > > > at
> mx.containers::ViewStack/commitProperties()[E:\dev\4.0.0\frameworks
> > > > > \projects\framework\src\mx\containers\ViewStack.as:750]
> > > > > at
> mx.core::UIComponent/validateProperties()[E:\dev\4.0.0\frameworks
> > > > > \projects\framework\src\mx\core\UIComponent.as:7772]
> > > > > at mx.managers::LayoutManager/validateProperties()[E:\dev
> > > > >
> \4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:
> > > > > 572]
> > > > > at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev
> > > > >
> \4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:
> > > > > 700]
> > > > > at
> mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev
> > > > >
> \4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:
> > > > > 1072].
> >
> > > > > alguem me pode dar uma ajuda com este problema?
> > > > > obrigado
> >
> > > > > --
> > > > > Recebeu esta mensagem porque está inscrito no grupo "Mailing List
> da
> > > > > Comunidade Portuguesa de Rich Internet Applications -www.riapt.org
> "
> > > dos
> > > > > Grupos do Google.
> >
> > > > > Para publicar uma mensagem neste grupo, envie um e-mail para
> > > > > [email protected].
> > > > > Para anular a inscrição neste grupo, envie um e-mail para
> > > > > [email protected]<riapt%[email protected]>
> <riapt%[email protected]<riapt%[email protected]>
> ><
> > > riapt%[email protected]<riapt%[email protected]>
> <riapt%[email protected]<riapt%[email protected]>
> >
> > > >.
> > > > > Para ver mais opções, visite este grupo em
> > > > >http://groups.google.com/group/riapt?hl=pt-PT.
> >
> > > --
> > > Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
> > > Comunidade Portuguesa de Rich Internet Applications -www.riapt.org"
> dos
> > > Grupos do Google.
> >
> > > Para publicar uma mensagem neste grupo, envie um e-mail para
> > > [email protected].
> > > Para anular a inscrição neste grupo, envie um e-mail para
> > > [email protected]<riapt%[email protected]><
> riapt%[email protected]<riapt%[email protected]>
> >.
> > > Para ver mais opções, visite este grupo em
> > >http://groups.google.com/group/riapt?hl=pt-PT.
>
> --
> Recebeu esta mensagem porque está inscrito no grupo "Mailing List da
> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos
> Grupos do Google.
>
> Para publicar uma mensagem neste grupo, envie um e-mail para
> [email protected].
> Para anular a inscrição neste grupo, envie um e-mail para
> [email protected] <riapt%[email protected]>.
> Para ver mais opções, visite este grupo em
> http://groups.google.com/group/riapt?hl=pt-PT.
>
>

-- 
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.

Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Para anular a inscrição neste grupo, envie um e-mail para 
[email protected].
Para ver mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT.

Responder a