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]
