Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# fixer le nombre de menuitem qui apparaissent à l'écran

Envoyé par : fleto

Date : 05/08/2010 18:13

Bonjour,

J'ai créé une zone de listes déroulantes avec les balises <menulist>, <menupopup>, <menuitem> comme expliqué dans le tutoriel "XUL Tutorial de XulPlanet.com". Dans mon cas, j'ai à peut prêt une centaine de menuitem. Je voudrais savoir s'il existe un moyen de définir le nombre de menuitem qui apparaissent dans la fenêtre, par exemple fixer leur nombre à 10. Pour pas avoir une liste qui fasse toute la hauteur de l'ecran.

Merci d'avance !

# Re: fixer le nombre de menuitem qui apparaissent à l'écran

Envoyé par : mistervince

Date : 06/08/2010 10:51

salut

Tu peux facilement réduire la hauteur de la liste en ajouter un attribut maxheight sur l'élément menupopup (par exemple maxheight="200").
Pour préciser la hauteur en fonction du nombre de menuitem, c'est plus compliqué. Il faut un binding spécial. Je peux essayer de trouver un moyen de mettre ça à ta disposition (plus rapidement que ce que j'avais prévu ;-)) si tu as besoin.

Vincent

# Re: fixer le nombre de menuitem qui apparaissent à l'écran

Envoyé par : fleto

Date : 06/08/2010 12:58

Bonjour,

En fait, l'attribut maxheight me suffit. Je sais pas pourquoi je n'y ai pas pensé. Merci pour ta réponse. Je serais, également intéresse par ta solution de définir la hauteur en fonction du nombre de menuitem.(Juste par curiosité). Si ca te prend pas trop de temps bien sûr.

Florian

# Re: fixer le nombre de menuitem qui apparaissent à l'écran

Envoyé par : mistervince

Date : 06/08/2010 14:26

Pour satisfaire ta curiosité, voilà rapidement comment je fais pour redimensionner selon le nombre de menuitem.

Sur l'évènement popupshown (déclenché une fois la popup ouverte), je prend la hauteur d'un menuitem, je multiplie par le nombre de lignes voulu (attribut rows) et je modifie le style du menupopup en conséquence.
Sur l'évènement scroll (déclenché quand un scroll arrive), je détecte si un menuitem est en partie caché et je rescroll un peu pour le montrer en entier.

Voilà les liens pour le binding complet :

Il suffit d'ajouter le fichier css à ton xul (par exemple @import(menupopup.css)) et de mettre l'attribut rows sur le menulist.

Je me rend compte que j'ai pas beaucoup commenté le code, si tu as des questions...

Je pense mettre en ligne tous mes bindings (et d'autres ressources, xul, javascript et java) à la fin du mois ou en septembre, avec description et démos. Il y a de fortes chances que les liens ci-dessus ne fonctionnent pas plus longtemps... ;)
(Je ferai un post quand ce sera dispo.)

Vincent

# Re: fixer le nombre de menuitem qui apparaissent à l'écran

Envoyé par : fleto

Date : 06/08/2010 14:48

Merci pour ta réponse !! J'avouerais que je n'ai pas tout compris à ton code...:-). Mais je pense que ca me sera un bon exercice. Encore merci!! Florian

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.