Bonjour,

Essayant de porter mon code Windows sous Linux - concernant des widgets subclassés - j'essaye de trouver le moyen de faire fonctionner correctement gtk_entry_get_selection_bounds avec gtk_editable_set_position.

En effet, pour les besoins d'une 'feature' permettant à l'utilisateur de faire scroller horizontalement le texte d'un entry/editable lorsque ce texte est plus long que le champ visible, j'ai besoin de connaitre la position en pixel du premier caractère lorsque le curseur est complètement à droite, en fin de texte, et ce, quelque soit la position courante du curseur.

Je commence donc par utiliser gtk_entry_get_selection_bounds avec le curseur courant et j'obtiens les bonnes valeurs, ensuite je fais un gtk_editable_set_position( w, -1 ) pour positionner le curseur en fin de texte (donc supposément le text a scrollé à gauche pour montrer le dernier character), puis je refais un gtk_entry_get_selection_bounds pour obtenir le nouvel offset à gauche.

Seulement voilà, quand je fais ces opérations à la suite, l'offset du deuxième appel à gtk_entry_get_selection_bounds ne change pas, j'obtiens le même que le premier, comme si le déplacement du curseur n'avait pas été pris en compte.

J'imagine que c'est en fait le cas, et qu'il doit y avoir quelque chose à faire pour mettre à jour le layout avec la nouvelle position de curseur (avant de quitter ma fonction et de réafficher le widget) ?

Est-ce que quelqu'un a une idée sur la question ?

Merci par avance,
Cordialement,
Guy.
--
guy rabiller | radfac founder / ceo