5 messages in org.openoffice.fr.progRe: [prog] Obtenir la hauteur d'une l...
FromSent OnAttachments
Christophe DevallandMay 27, 2009 1:20 am 
Bernard MarcellyMay 27, 2009 5:42 am 
Christophe DevallandMay 27, 2009 11:49 am.odt
Delmas Jean-MarcMay 27, 2009 3:48 pm 
Christophe DevallandMay 28, 2009 12:44 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Obtenir la hauteur d'une ligne d'un tableauActions...
From:Delmas Jean-Marc (jean@centraliens.net)
Date:May 27, 2009 3:48:53 pm
List:org.openoffice.fr.prog

Une suggestion ou un palliatif à essayer

La hauteur de la ligne ne peut-elle pas être récupérée lorsque le type de hauteur est forcé à com.sun.star.text.SizeType.FIX ? As-tu essayé de seulement modifier le type de hauteur de ligne via l'API sans toucher à la valeur de la hauteur. Vérifie d'abord que cette hauteur n'a pas été miraculeusement mise à jour. Si ce n'est pas le cas, instancie un deuxième objet sur la ligne en question, (peut-être après avoir enregistré le document). Comme maintenant la ligne est de hauteur fixe tu devrais pouvoir y lire la propriété Heigth.

C'est à essayer, je ne l'ai pas fait, mais peut-être cela fonctionne-t-il. Jean-Marc

Le mercredi 27 Mai 2009 20:50, chri@ac-rouen.fr a écrit :

Le 27 mai 2009 14:42, Bernard Marcelly <marc@club-internet.fr> a écrit :

Je n'ai pas de solution à ta question, mais je pense que le principe est : si on demande une hauteur automatique c'est pour ne pas s'en occuper ;-)

merci pour tes précisions qui confirment ce que j'avais constaté. Pour les besoins particuliers de mon extension, j'ai besoin de connaître la hauteur d'une ligne d'un tableau (de variations ou de signes pour les matheux) car je ne connais pas à l'avance ce que l'utilisateur aura mis dans les cellules (des champs équations notamment). C'est donc pratique que la hauteur soit variable mais pas pratique de ne pas pouvoir la récupérer par l'API car j'en ai besoin pour tracer des barres verticales qui ne soient pas des bordures (ce serait trop facile). Leur hauteur dépend donc de la taille des cellules.

Je ne sais pas si c'est clair, je te joins un exemple.

En tout cas, j'ai quand même réussi à récupérer la hauteur d'une ligne qui n'a pas une hauteur fixe. C'est de la grosse bidouille tellement moche que je préfère ne pas afficher le code ici. Mais ça marche. En gros voilà ce que je fais pour connaître la hauteur d'une cellule contenue dans une ligne :

1) je fixe la hauteur de la ligne à une faible valeur pour être sûr que le contenu sera collé à la bordure haute. 2) je crée une forme dans le curseur text de la cellule en tant que caractère 3) cette forme est collée à la bordure haute 4) je passe l'ancrage de cette forme en tant que page, ce qui me permet de connaître la position du haut de la zone texte de la cellule. 5) j'aligne le contenu de la cellule à BOTTOM 6) je fais varier 2 fois la hauteur de la ligne ce qui fait descendre la zone texte et la forme avec. 7) en notant à chaque fois la nouvelle position de la forme et en repassant finalement la ligne en hauteur "optimale" j'arrive à en déduire la hauteur exacte de la cellule.

j'avais prévenu, c'est pas joli, mais ça résout mon problème. A+