Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


Bonjour,

j'ai un petit pb de curseur visible dans Writer.

LibreOffice 3.5.6-2 sous Win7 64b et 4.1.4-2 sous Debian Wheezy Xfce

Contexte :
un document Writer composé de plusieurs tableaux consécutifs. Dans certaines cellules se trouvent des cases à cocher (ancrées comme des caractères).

Besoin :
je voudrais que, quand l'utilisateur a coché la case, le curseur visible se positionne à la fin du paragraphe qui suit la case cochée. De cette manière, l'utilisateur pourrait continuer la saisie sans avoir à agir sur la souris.

L'exemple est là : http://cjoint.com/?0GynhetAxf7

Symptôme :
La procédure _SetViewCursor(), appelée à travers UpdateChecked(), s'exécute bien mais le curseur visible n'est pas placé au "bon" endroit (à droite de la flèche). Il n'est même pas placé du tout.

Je constate que :
-- L24 : l'instruction oTextCur.gotoEndOfParagraph(False) fonctionne (si je passe True, la sélection est ok) -- L25 : un XRay sur oVCur après l'affectation renvoie des infos cohérentes (propriété Cell en particulier)
-- l'ajout éventuel d'une instruction oVCur.setVisible(True) est sans effet
-- après exécution de la macro, la case reste entourée de pointillés, ce qui pourrait suggérer que le focus reste sur la case à cocher, donc que le code de la macro est ensuite parasité par un comportement interne de Writer qui refocalise sur la case. La macro (UpdateChecked()) est associée à l'évènement "Statut de l'élément modifié" de la case à cocher. Par curiosité, j'ai essayé d'autres évènements (bouton de la souris relâché, à la perte du focus), sans plus de succès... Il me semble, a priori, que l'évènement "Statut de l'élément modifié" est celui qui convient : dans d'autres environnements (p.ex : Delphi), cet évènement rend la main à l'application après que le composant ait terminé toute action interne.

NB : actuellement la macro s'exécute quel que soit l'état de la case, cochée ou non ; c'est pour des tests donc sans importance ici.


Des idées ?
Merci d'avance. Amicalement,
--
Jean-Francois Nifenecker, Bordeaux

--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.