Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [Résolu] Pb XBL + drag and drop

Envoyé par : cokinou

Date : 03/03/2009 12:32

Bonjour,

J'ai un petit souci avec le drag and drop d'un élément créé en XBL. En fait, en faisant un xbl tout simple je me retrouve avec un comportement différent de ce que j'attends....

Je me suis basé sur le tutoriel https://developer.mozilla.org/fr/Tutorie(..)

Les sources de mon exemple sont ici : http://www.bru.free.fr/xul/draganddrop/

Dans mon xbl je défini une balise mygroup redéfinissant un noeud div et myelement redéfinissant un noeud box (source: http://www.bru.free.fr/xul/draganddrop/m(..))

En utilisant la même fonction sur un noeud box inclut dans un div ou sur mon noeud myelement inclut dans un mygroup, lorsque je fais un drag and drop le comportement diffère dans certains cas. Par exemple, dans mon exemple simple.xul, si je déplace mon élément bleu1 sur vert1 l'élément bleu1 passe en première position, alors qu'en déplaçant l'élément bleu sur vert l'élément bleu passe en deuxième position :-(

Pour mieux comprendre le problème, essayer l'exemple.....

Si vous avez une idée d'où ca peut venir, je suis ouvert à toutes les idées :-)

Merci d'avance

# Re: Pb XBL + drag and drop

Envoyé par : laurentj

Date : 03/03/2009 18:42

une balise mygroup redéfinissant un noeud div

problème de vocabulaire. La balise mygroup contient un noeud div, mais ne redefinit pas.

En utilisant la même fonction sur un noeud box inclut dans un div

attention, ton fichier xul, l'element div n'est pas un element html mais xul (donc une boite xul).

De ce fait, l'exemple avec les xbl et l'exemple sans les xbl ne sont pas du tout equivalent.

# Re: Pb XBL + drag and drop

Envoyé par : cokinou

Date : 03/03/2009 22:22

laurentj a écrit:

>une balise mygroup redéfinissant un noeud div

problème de vocabulaire. La balise mygroup
contient un noeud div, mais ne redefinit pas.

Je suis d'accord, mais je ne savais pas comment le formuler.... Pas facile d'expliquer les choses pour que tout le monde puisse comprendre ce que j'ai dans la tête :-/

>En utilisant la même fonction sur un noeud box
inclut dans un div

attention, ton fichier xul, l'element div n'est
pas un element html mais xul (donc une boite
xul).

De ce fait, l'exemple avec les xbl et l'exemple
sans les xbl ne sont pas du tout equivalent.

Ils ne sont peut-être pas équivalent en tant que tel, mais il devrait réagir de la même façon non ? Est-ce le fait de mélanger le html et le xul qui provoque la différence de comportement ?

# Re: Pb XBL + drag and drop

Envoyé par : laurentj

Date : 05/03/2009 14:44

mais il devrait réagir de la même façon non ?

ba non, puisque dans un cas tu as une balise XUL (même si elle s'appelle div, puisque tu ne lui as pas donné le namespace html), et de l'autre, une balise HTML. Pas le même modèle de boite. pas le même comportement à l'affichage.

Et d'ailleurs, ce n'est pas du tout equivalent puisque le contenu est différent. Regarde avec le dom inspector, tu verras que tu n'a pas du tout la même chose

# Re: Pb XBL + drag and drop

Envoyé par : cokinou

Date : 05/03/2009 20:01

>mais il devrait réagir de la même façon non ?

ba non, puisque dans un cas tu as une balise XUL
(même si elle s'appelle div, puisque tu ne lui as
pas donné le namespace html), et de l'autre, une
balise HTML. Pas le même modèle de boite. pas le
même comportement à l'affichage.

Ok, donc je me plante complètement.... je vais tester alors avec 2 boites identiques.....

Et d'ailleurs, ce n'est pas du tout equivalent
puisque le contenu est différent. Regarde avec le
dom inspector, tu verras que tu n'a pas du tout la
même chose

C'est peut-être une question bête, mais comment on peut utiliser le dom inspector sur une appli xulrunner ou sur une page de test comme celle que j'ai fourni (qui fonctionne pas via firefox sauf en en faisant une extension) ?

En tout cas, merci pour tes remarques ;-)

# Re: Pb XBL + drag and drop

Envoyé par : cokinou

Date : 05/03/2009 21:14

cokinou a écrit:

Ok, donc je me plante complètement.... je vais
tester alors avec 2 boites identiques.....

Effectivement, si je mets un namespace xul à mon div dans mon xbl, il réagit de la même façon (correctement).... malheureusement, l'élément div de xul ne fonctionne pas de la même façon que le div de html, à savoir que le contenu ne revient pas à la ligne lorsqu'il a atteint toute la longueur....

Grand merci laurentj pour avoir trouver l'explication de mon problème

Maintenant, pour le corriger, 2 solutions s'offrent à moi :

  1. trouver une boite xul qui revient à la ligne lorsque la largeur est atteinte => j'ai jamais trouvé c'est pour ca que je m'étais rabattu sur un div html
  2. faire fonctionner le drag and drop de façon correcte sur un div html => j'ai essayé sans succès

Quelqu'un à une troisième solutions ?
Ou peut-il m'aider pour faire marcher une des deux solutions indiqué ci-dessus ?

# Re: Pb XBL + drag and drop

Envoyé par : laurentj

Date : 06/03/2009 11:23

comment on peut utiliser le dom inspector sur une appli xulrunner

tu rajoute un item de menu pour pouvoir ouvrir la boite de gestion des extensions, et tu installes l'extension dom inspector.

malheureusement, l'élément div de xul ne fonctionne pas de la même façon que le div de html

Il n'y a pas d'element div en xul. c'est juste qu'un element inconnu qui est dans le namespace XUL a automatiquement le comportement d'une box xul normale.

trouver une boite xul qui revient à la ligne lorsque la largeur est atteinte

la balise description...

faire fonctionner le drag and drop de façon correcte sur un div htm

y a pas de raison que ça ne marche pas. Tu dois faire un truc qui faut pas ou qui manque

troisième solution : utiliser XulRunner 1.9.1 (une nightly) et la nouvelle api drag and drop

https://developer.mozilla.org/en/Firefox_3.1_for_developers https://developer.mozilla.org/En/DragDrop/Drag_and_Drop

m'enfin cette api est juste un wrapper autour de l'api que tu utilises.

# [Résolu] Re: Pb XBL + drag and drop

Envoyé par : cokinou

Date : 06/03/2009 16:24

comment on peut utiliser le dom inspector sur une appli xulrunner

tu rajoute un item de menu pour pouvoir ouvrir la boite de gestion des extensions, et tu installes l'extension dom inspector.

Ca marche ca ? Moi qui pensais que ce serai beaucoup plus compliqué que ca.... il me reste qu'à trouver le lien pour ouvrir la boite de gestion des extensions alors.... je regarderai ca ce week end :-)

trouver une boite xul qui revient à la ligne lorsque la largeur est atteinte

la balise description...

J'avais testé, et malheureusement ca ne fonctionnait pas comme je le désirai (je sais plus pourquoi par contre :-( )... mais hier soir j'ai eu une illumination et j'y suis arrivé en mettant tout simplement un display: block dans le style de ma box incluse dans mon xbl... j'avais déjà testé ca sur mon élément xbl et ca ne marchait pas, mais j'ai jamais eu l'idée de tester sur la box à l'intérieur du xbl (où j'ai mis un div html dans l'exemple, en gros j'ai remplacé le html:div par xul:box style="display: block;").
Bref, tout s'arrange à merveille maintenant :-D

faire fonctionner le drag and drop de façon correcte sur un div htm

y a pas de raison que ça ne marche pas. Tu dois faire un truc qui faut pas ou qui manque

Je pense que le fait de mélanger des éléments html et xul posait problème car avec juste des éléments xul tout marche correctement.

Encore un grand merci pour tes remarques et ton aide

# Re: [Résolu] Pb XBL + drag and drop

Envoyé par : thefab

Date : 07/03/2009 00:42

en gros j'ai remplacé le html:div par xul:box style="display: block;"

Cooooooool, merci je cherchais ça depuis longtemps !!!

# Re: [Résolu] Pb XBL + drag and drop

Envoyé par : cokinou

Date : 07/03/2009 11:39

thefab a écrit:

en gros j'ai remplacé le html:div par xul:box style="display: block;"


Cooooooool, merci je cherchais ça depuis longtemps !!!

Content d'avoir pu t'aider :-)

# Re: [Résolu] Re: Pb XBL + drag and drop

Envoyé par : cokinou

Date : 07/03/2009 22:43

comment on peut utiliser le dom inspector sur une appli xulrunner

tu rajoute un item de menu pour pouvoir ouvrir la boite de gestion des extensions, et tu installes l'extension dom inspector.

Ca marche ca ? Moi qui pensais que ce serai beaucoup plus compliqué que ca.... il me reste qu'à trouver le lien pour ouvrir la boite de gestion des extensions alors.... je regarderai ca ce week end :-)

En regardant sur le net pour ouvrir la boite de gestion d'extension, je suis tombé sur cet article : https://developer.mozilla.org/en/XULRunn(..). Avec cette méthode, y a pas besoin d'installer l'extension, faut juste copier les fichiers au bon endroit et ca marche nickel :-)

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.