Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Probleme RDF asynch

Envoyé par : Veovis

Date : 13/09/2006 19:27

Bonjour,

J'ai un tout petit soucis de synchronisation actuellement. Quand je veux ouvrir un fichier rdf (qui est généré par du PHP), je ne peux pas faire dessuite de selectedIndex.

Voici un exemple de ce que je fais :

$("id").setAttribute("datasources","fichier.rdf"); $("id").builder.rebuild(); $("id").selectedIndex = "10";

J'ai pu juqu'a present contourner ce probleme avec des setTimeout, sur la derniere command. Si j'ai bien compris, le probleme c'est que le rebuild est asynchrone. Comment faire pour que l'ouverture de mon fichier soit en synhcrone et éviter de faire des setTimeout ???

Merci pour la reponse.

# Re: Probleme RDF asynch

Envoyé par : Eric

Date : 14/09/2006 10:36

On peut ajouter des listener pour déterminer quand un arbre a été reconstruit : Scruter les reconstructions d'arbres

# Re: Probleme RDF asynch

Envoyé par : Veovis

Date : 15/09/2006 13:33

J'ai un peu du mal a tout comprendre. Ce que je voudrais c'est faire devenir le datasource synchrone, sans utiliser de XPCOM. Est ce possible ??

Thanks pour les reponses ....

# Re: Probleme RDF asynch

Envoyé par : Eric

Date : 15/09/2006 13:53

Le constructeur d'un arbre dont la vue est basée sur un template - $("id").builder dans le code ci-avant - émet un événement willRebuild avant commencer son traitement et un événement didRebuild une fois l'opération terminée.

Il suffit de placer un lisener - tree.builder.addListener(someListener) dans l'exemple Scruter les reconstructions d'arbres -pour être certain que les opérations effectuées sur l'arbre ne le sont qu'après sa reconstruction.

Dans l'exemple, on attend que le builder ait terminé la reconstruction de l'arbre pour en sélectionner une ligne : builder.root.view.selection.select(idx) de la fonction didRebuild exécutée par le listener lorsqu'il reçoit l'événement didRebuild du builder. Bref on fait exactement la même chose que $("id").selectedIndex = "10" en étant certain que l'arbre ait été reconstruit.

# Re: Probleme RDF asynch

Envoyé par : laurentj

Date : 21/09/2006 15:24

Ce que je voudrais c'est faire devenir le datasource synchrone

L'utilisation de technique synchrone est trés mauvaise, puisqu'alors l'interface "freeze". C'est ergonomiquement catastrophique pour l'utilisateur.

D'où l'usage préconisé d'utiliser des listeners/observers (largement utilisé dans tout gecko d'ailleurs...)

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.