Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Avancée > Justification de texte...

Envoyé par : Mentral

Date : 13/05/2005 22:56

Un grand merci à M. Jouanneau pour avoir répondu à mon précédent post.

J'ai bien testé ce qui est indiqué sur la FAQ. L'ennui, c'est que je ne comprends pas ce que je fais quand je suis la procédure : la stricte application d'un savoir-faire donné n'implique pas l'acquisition du savoir sous-jacent. Résultat : je me perds dans des notions dont je ne saisis ni la portée ni le fonctionnement. Tout programmeur le dira : c'est en bidouillant qu'on y arrive. Vient néanmoins un moment en lequel ledit programmeur a épuisé toutes ses ressources.

Venons-en au problème : je veux justifier (bien aligner à gauche comme à droite) le texte d'un textbox dont la propriété "multiline" est à "true", texte chargé depuis un document XML grâce au DOM.
La consultation du fichier xul.css (chrome/toolkit/content/global/xul.css) m'apprend que dans ce cas le textbox est bindé, voir ci-dessous :

textbox[multiline="true"] {
-moz-binding: url("chrome://global/content/bindings/textbox.xml#textarea");
}

Analysons ladite portion du fichier textbox.xml (chrome/toolkit/content/global/bindings/textbox.xml) :

<binding id="textarea" extends="chrome://global/content/bindings/textbox.xml#textbox">
<content>
<xul:hbox class="textbox-input-box" flex="1" xbl:inherits="context">
<html:textarea class="textbox-textarea" flex="1" anonid="input"   xbl:inherits="onfocus,onblur,xbl:text=value,disabled,rows,cols,readonly,wrap">
<children/>
</html:textarea>
</xul:hbox>
</content>
</binding>

Autrement dit, notre textbox "multiliné" est un hbox muni d'un textarea. Mais là s'arrête notre investigation car le textarea c'est visiblement du HTML.
Comment faut-il faire pour styler ce textarea de sorte à ce que le texte qui y figure soit justifié ?


Très cordialement à vous,
Mentral.
(Novice mais pas coupable...;-)


P.S. : La solution consistant à passer par un élément <description> m'est demeurée impraticable car je ne sais comment programmer l'insertion du texte en question, extrait du fichier XML, entre les balises <description> et </description>, condition sine qua non pour que ledit texte soit correctement multiliné. En effet, passer par l'attribut value de la balise <description> interdit le multiline.

# Re: Avancée > Justification de texte...

Envoyé par : laurentj

Date : 17/05/2005 11:51

Un grand merci à M. Jouanneau pour avoir répondu à mon précédent post

pas de quoi

Mais là s'arrête notre investigation car le textarea c'est visiblement du HTML.

Non, tu as oublié de regarder la ressources du binding. Il me semble qu'il y a une feuille de style attachée à ce binding (ou à ses ancètres si c'est un binding dérivé d'un autre).

Comment faut-il faire pour styler ce textarea de sorte à ce que le texte qui y figure soit justifié ?

Tout ceci, c'est du XML, donc on doit utiliser les selecteurs CSS classique. Donc ici, un truc du genre :

textbox html|textarea {  text-align:justify; }

(ne pas oublier de définir "html" comme étant un namespace, @namespace kkchose, je n'ai plus en tête la syntaxe, voir la feuille css du binding)

Ou encore plus simple : tu vois qu'il y a une classe CSS sur le textarea, donc :

.textbox-textarea {text-align:justify; }

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.