Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# tabpanel disabled ??? hidden ???

Envoyé par : hhf

Date : 08/11/2005 22:03

et hop, une autre ptite question, merci d'avance. qd je disable un tab, il passe bien en style disabled (tout gris), mais un click dessus laisse acceder au tabpanel correspondant. ce qui est plutot genant. il y a t'il quelquechose à faire de plus. En attendant ceux qui sont normalement disabled je les met en hidden, mais quand je remet hidden à false, le tab correspondant se retrouve en premier position du tabbox, quelquechose m'echappe. Si quelqu'un à une idee du pkoi du comment, se sera le bienvenu.

# Re: tabpanel disabled ??? hidden ???

Envoyé par : laurentj

Date : 14/11/2005 13:53

qd je disable un tab

tu fais comment exactement ?

# Re: tabpanel disabled ??? hidden ???

Envoyé par : hhf

Date : 16/11/2005 01:52

ben je met sur l'attribut disabled à true sur le tab. exemple :

<tabbox>
   <tabs>
     <tab label="Courrier" disabled="true"/>
     <tab label="Forum"/>
   </tabs>
   <tabpanels>
     <tabpanel id="mailtab">
       <checkbox label="Vérifier automatiquement le courrier"/>
     </tabpanel>
     <tabpanel id="newstab">
       <button label="Effacer le cache des forums"/>
     </tabpanel>
   </tabpanels>
</tabbox>

# Re: tabpanel disabled ??? hidden ???

Envoyé par : thefab

Date : 16/11/2005 15:30

Et si tu met aussi disabled="true" sur le <tabpanel> ?

# Re: tabpanel disabled ??? hidden ???

Envoyé par : hhf

Date : 16/11/2005 23:05

G testé, pareil....

# Re: tabpanel disabled ??? hidden ???

Envoyé par : laurentj

Date : 17/11/2005 10:02

Je confirme : le XBL du tab (voir dans toolkit.jar, le fichier tabbox.xml) ne prend pas en compte l'attribut disabled pour activer/désactiver le panneau. Cet attribut est juste propagé sur le label du tab. Lors de sa sélection par un click (ou par le clavier), il ne verifie pas la présence ou pas de l'attribut disabled.

Seul solution pour toi : faire un xbl, dérivant de l'original, et qui a le comportement que tu veux (donc reprendre les handlers du xbl de tab et les modifier).

# Re: tabpanel disabled ??? hidden ???

Envoyé par : goebi

Date : 14/02/2008 16:15

Je vois bien que la question date de 2005 mais comme j'ai eu le même problème et que je n'ai pas trouvé de solution, je poste la mienne :D J'ai dû jouer sur les évènements pour avoir un comportement un tant soit peu cohérent...

En reprenant l'exemple (avec un id en plus pour l'élément tabs) :

<tabbox>
   <tabs id="myTabs">
     <tab label="Courrier" disabled="true"/>
     <tab label="Forum"/>
   </tabs>
   <tabpanels>
     <tabpanel id="mailtab">
       <checkbox label="Vérifier automatiquement le courrier"/>
     </tabpanel>
     <tabpanel id="newstab">
       <button label="Effacer le cache des forums"/>
     </tabpanel>
   </tabpanels>
</tabbox>

Dans un script de chargement de la fenêtre (onload), ajouter :

document.getElementById('myTabs').addEventListener('mousedown',
                                                   checkTab, true);

et ajouter dans votre code la fonction listener suivante :

function checkTab(event)
{
	if (event.target.getAttribute("disabled")=="true")
	    event.stopPropagation();
}

En gros, quand on clique sur un tab, on l'intercepte et si il est désactivé on ne propage plus l'évènement !

Alors, pour avoir un tab actif/désactif, utiliser la méthode setAttribute("disabled","false") / setAttribute("disabled","true")

à+

# Re: tabpanel disabled ??? hidden ???

Envoyé par : Paul Rouget

Date : 14/02/2008 16:29

bien vu :)

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.