Un système de template décris en XML

16 views
Skip to first unread message

Thomas Pujolle

unread,
May 23, 2012, 5:46:49 AM5/23/12
to pixlib
Hello!

Je sais que rien qu'avec le titre, ça sonne IOC. Mon application ne
l'est pas à la base, mais j'ai besoin de créer 4 ou 5 template de page
en as, et de pouvoir les instancier ensuite via un XML.

Sans par example faire un switch sur le nom du template, je veux être
capable d'instancier le bon template, avec les arguments qui vont
bien !

Je sais pas si je suis clair ... une idée ? ou même 2 3 fonctions en
vrac, avec un exemple xml, je suis preneur :)

D'avance merci!

Stef X

unread,
May 23, 2012, 8:56:07 AM5/23/12
to pix...@googlegroups.com
Hello Thomas,

Effectivement, tout ca sent bon l'IOC :)
Il te faudra juste packager tes templates dans un swf ou les incorporer dans ton appli.
Ensuite, dans ton applicationContext tu n'aura plus qu'a les instancier et les parametrer comme tu le souhaite...

un exemple avec juste un sprite créé en IOC :

        <bean id="MyView" type="flash.display.Sprite">
            <property name="x" value="10" />
            <property name="y" value="10" />
           
            <method-call name="graphics.beginFill">
                <argument type="int" value="0xFF0000" />
                <argument type="Number" value="1" />
            </method-call>
            <method-call name="graphics.drawRect">
                <argument type="Number" value="0" />
                <argument type="Number" value="0" />
                <argument type="Number" value="50" />
                <argument type="Number" value="50" />
            </method-call>
            <method-call name="graphics.endFill" />
        </bean>   

@++

Stef


--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes pixlib.
Pour envoyer un message à ce groupe, adressez un e-mail à pix...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse pixlib+un...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/pixlib?hl=fr


Thomas Pujolle

unread,
May 23, 2012, 9:04:59 AM5/23/12
to pixlib
ok,

Et genre pour décrire un value object ça serait:
<bean id="MyView" type="vo.ImageVO">
<property name="title" value="Super image" />
<property name="imageUrl" value="image.jpg" />
</bean>

Si si dans un value object, j'ai une liste de quelque chose ? Je suis
obligé de faire ma liste statiquement ? Comme un xml classique
quoi ...

Et j'utilise quoi comme classe pour "créer" mes objets à partir ce xml
là?

Merci bcp!

Stef X

unread,
May 23, 2012, 9:22:22 AM5/23/12
to pix...@googlegroups.com
C'est bien ca oui.

Et ensuite tu récupère tout ca avec PXViewLocator.getInstance().locate( name ) pour tes ressources ou PXViewLocator.getInstance().getView( name ) pour tes vues :)

Stef

Thomas Pujolle

unread,
May 27, 2012, 4:30:53 PM5/27/12
to pixlib
Et pour créer les objets en eux même je dois utiliser quelle classe ?
Si j'ai mon XML tout prêt, je donne ça à "qui" ensuite ?

On May 23, 3:22 pm, Stef X <stefx.li...@gmail.com> wrote:
> C'est bien ca oui.
>
> Et ensuite tu récupère tout ca avec PXViewLocator.getInstance().locate(
> name ) pour tes ressources ou PXViewLocator.getInstance().getView( name )
> pour tes vues :)
>
> Stef
>

Stef X

unread,
May 27, 2012, 6:04:45 PM5/27/12
to pix...@googlegroups.com
Si tu nous montrais un peu plus ce que tu veux faire on pourrait également t'en dire un peu plus...

L'abstrait reste abstrait ;)

Stef

Thomas Pujolle

unread,
May 28, 2012, 3:39:18 AM5/28/12
to pixlib
Je voudrais convertir ça :
<bean id="MyVo" type="vo.ImageVO">
<property name="title" value="Super image" />
<property name="imageUrl" value="image.jpg" />
</bean>

en une instance de vo.ImageVO, si c'est possible? Je connais pas trop
trop IOC, je sais pas si on peut juste traiter ce genre de choses sans
traiter un contexte à part.
On me suit?

Merci ^^

On 28 mai, 00:04, Stef X <stefx.li...@gmail.com> wrote:
> Si tu nous montrais un peu plus ce que tu veux faire on pourrait également
> t'en dire un peu plus...
>
> L'abstrait reste abstrait ;)
>
> Stef
>

Stef X

unread,
May 28, 2012, 8:30:14 AM5/28/12
to pix...@googlegroups.com
Comme ceci ?

applicationContext.xml :

<?xml version="1.0" encoding="UTF-8"?>
<beans>
    <root id="root">
    </root>

    <bean id="MyVO" type="vo.ImageVO">

        <property name="title" value="Super image" />
        <property name="imageUrl" value="image.jpg" />
    </bean>
</beans>


Main.as :

package
{
    import net.pixlib.ioc.load.PXApplicationLoaderEvent;
    import net.pixlib.ioc.runner.PXDefaultApplicationRunner;
    import net.pixlib.load.PXResourceLocator;

    import vo.ImageVO;

    public class Main extends PXDefaultApplicationRunner
    {
        public function Main()
        {
            ImageVO;
        }

        override public function onApplicationInit(event : PXApplicationLoaderEvent) : void
        {
            PXResourceLocator.getInstance().locate( "MyVO" ).toString();
        }
    }
}


ImageVO.as :

package vo
{
    /**
     * @author stef
     */
    public class ImageVO
    {
        private var _title : String;
        private var _imageUrl : String;

        public function toString() : void
        {
            trace( "---ImageVO---\n\ttitle: " + _title + "\n\timageUrl: " + _imageUrl );
        }

        public function get title() : String
        {
            return _title;
        }

        public function set title(title : String) : void
        {
            _title = title;
        }

        public function get imageUrl() : String
        {
            return _imageUrl;
        }

        public function set imageUrl(imageUrl : String) : void
        {
            _imageUrl = imageUrl;
        }
       
    }
}

Bonne journée :)

Stef

Thomas Pujolle

unread,
May 28, 2012, 9:01:45 AM5/28/12
to pixlib
Haaaa yes :)

Autre question, quelle est la charge d'une telle opération ? Est-ce
que je peux coupler PXBaseDocument à ce PXDefaultApplicationRunner ?
Je pensais utiliser application runner dans une commande en fait, en
tant que système "annexe" si je puis dire!

Aussi, dans le cas d'une collection d'objets? Dois-je créer plusieurs
nodes pour mes Vo, et ensuite utiliser method-call avec push ? Ou
n'importe quelle methode permettant d'ajouter un objet dans cette
collection, quel qu'elle soit.

Encore merci pour ces éclaircissements :)
Reply all
Reply to author
Forward
0 new messages