Luc Sorel <sorel <at> agrocampus-rennes.fr> writes:

> 
> Bonjour,
> 
> Philippe Pons a écrit :
> > Bonjour,
> >
> > Je vois qu'on peut bouger un curseur d'écriture vers 
> > le mot précédent avec la méthode gotoPreviousWord.
> > Je ne trouve pas de méthode équivalente pour le 
> > curseur visible.
> > C'est pas possible?
> >
> > Merci,
> Non, a priori ce n'est pas possible. J'ai longtemps creusé la question 
> lors du développement de mon extension MoveText 
> <http://www.lucsorel.com/index.php?page=downloads#movetext>, dont la 
> fonctionnalité est de déplacer du texte sélectionné notamment de le 
> déplacer par mot. L'API propose 2 objets aux noms voisins mais aux 
> fonctionnalités différentes :
> 
>     * ViewCursor (thisComponent.getCurrentController().getViewCursor())
>       : c'est le curseur qu'on voit quand on tape un document sous
>       Writer. Il sait se déplacer par caractère et aller au début/fin de
>       ligne
> 
>     * TextCursor : on peut le créer à partir de rien
>       (thisComponent.Text.createTextCursor()) ou à partir du curseur
>       visuel
>       (thisComponent.Text.createTextCursorByRange(viewCursor.getStart()))
>       : c'est un curseur d'écriture, invisible à l'écran, qu'il se
>       déplace même en sélectionnant du texte. Il sait se déplacer par
>       caractère, par mot et par paragraphe.
> 
> Le fait que ces 2 objets n'ont pas les mêmes compétences m'ont souvent 
> fait ch... anger d'humeur lors du développement de mon extension car 
> j'avais à manipuler les deux en parallèle. En fonction de ce que tu veux 
> faire, peut-être que seul un curseur est nécessaire.
> 
> Pour des exemples de manipulation de ces 2 curseurs, tu peux regarder 
> dans le code source de MoveText 
> <http://www.lucsorel.com/media/downloads/movetext.bas> si tu veux. Tu 
> peux jeter un coup d'œil à la fonction moveTextToRightByWord pour voir 
> comment gérer le déplacement "simultané" des 2 curseurs vis-à-vis des 
> mots. On peut procéder plus simplement en déplaçant un curseur 
> d'écriture par mot en lui demandant de sélectionner le texte et 
> déplaçant le curseur visuel du nombre de caractère de la sélection, mais 
> cela ne fonctionne si le curseur visuel était en tête de paragraphe ou 
> de puce dans une liste. En effet dans ce cas, car un des curseurs 
> comptent les sauts (de puce ou de paragraphe) comme un caractère 
> supplémentaire alors que l'autre les ignore. Bref... bon courage ! 
> 
> Sympathicamicalement, Luc
> 
Bonsoir et merci pour les infos.
J'ai une situation comme celle ci:

Saint-etienne

Donc le nom de la ville avec une ligne vide au dessus.
Je veux sélectionner la ville, après avoir 
mis le curseur à droite.
Le code doit faire la même chose que si j'utilise 
dans Writer ctrl+shift+<=
J'utilise donc 3 fois la commande (pour simuler):
oWCursor.gotoPreviousWord(true)
1er coup: etienne est sélectionné
2ième coup: Saint- et toute la ligne au dessus 
sont sélectionnés.
Comme dirait Luc, ça me fait vraiment ch..anger d'humeur!!

je vais voir moveTextToRightByWord ...

Philippe







---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à