FAQ GTK+Consultez toutes les FAQ

Nombre d'auteurs : 10, nombre de questions : 101, dernière mise à jour : 30 septembre 2008  Ajouter une question

 

Cette faq a été réalisée à partir des questions fréquemment posées sur les forums de www.developpez.com et de l'expérience personnelle des auteurs.
Je tiens à souligner que cette faq ne garantit en aucun cas que les informations qu'elle propose sont correctes ; les auteurs font le maximum, mais l'erreur est humaine. Cette faq ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, lisez ceci.
Sur ce, nous vous souhaitons une bonne lecture, L'équipe GTK+.


SommaireGTK+GtkWidgetGtkTextView (5)
précédent sommaire suivant
 

Lorsque l'on ajoute du texte dans un GtkTreeView, il peut être intéressant de faire défiler l'affichage jusqu'au texte ajouté (par exemple dans le cas d'une fenêtre qui affiche la sortie standard).
Les argument de cette fonction sont les mêmes que pour gtk_text_buffer_insert

Code C : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void text_view_insert_with_scroll (GtkTextView *p_text_view, 
                                       GtkTextIter *iter, const gchar *text, 
                                       gint len) 
{ 
  GtkTextBuffer *p_buffer = NULL; 
  GtkTextMark *p_text_mark = NULL; 
  
  g_return_if_fail (p_text_view != NULL); 
  g_return_if_fail (iter != NULL); 
  g_return_if_fail (text != NULL); 
  
  p_buffer = gtk_text_view_get_buffer (p_text_view); 
  gtk_text_buffer_insert (p_buffer, iter, text, len); 
  p_text_mark = gtk_text_buffer_create_mark (p_buffer, NULL, iter, FALSE); 
  gtk_text_view_scroll_to_mark (p_text_view, p_text_mark, 0, FALSE, 0, 0); 
}

Mis à jour le 14 mai 2007 sub_khaine

Il suffit de remplacer la fonction gtk_text_buffer_insert par gtk_text_buffer_insert_at_cursor.

Mis à jour le 30 septembre 2008 sub_khaine

Pour commencer, il faut récupérer le presse papier (GtkClipboard) par défaut :

Code c : Sélectionner tout
1
2
3
4
5
GtkTextView text_view = NULL; 
GtkClipboard *clipboard = NULL; 
  
text_view = gtk_text_view_new (); 
clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
Et ensuite il est possible de copier ou couper le texte sélectionné depuis un GtkTextBuffer respectivement grâce aux fonctions gtk_text_buffer_copy_clipboard et gtk_text_buffer_cut_clipboard.

Et enfin coller du texte grâce à la fonction gtk_text_buffer_paste_clipboard.

Mis à jour le 30 septembre 2008 sub_khaine

Une fois les GtkTextIter de début et de fin récupérés, la fonction gtk_text_buffer_delete gère l'effacement du texte :

Code c : Sélectionner tout
1
2
3
4
5
6
7
  GtkTextIter start; 
  GtkTextIter end; 
  GtkTextBuffer *text_buffer = NULL; 
  
  text_buffer = gtk_text_view_get_buffer (text_view); 
  gtk_text_buffer_get_bounds (text_buffer, &start, &end); 
  gtk_text_buffer_delete (text_buffer, &start, &end);

Mis à jour le 30 septembre 2008 sub_khaine

A partir du GtkTextBuffer associé au GtkText view, il suffit d'appeler la fonction gtk_text_buffer_get_selection_bounds pour récupérer le GtkTextIter de début de celui de fin de la sélection :

Code C : Sélectionner tout
1
2
3
4
5
GtkWidget* text_view = gtk_text_view_new (); 
GtkTextBuffer* buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW text_view)); 
GtkTextIter start, end; 
  
gtk_text_buffer_get_selection_bounds (buffer, &start, &end);

Mis à jour le 30 septembre 2008 sub_khaine

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Contacter le responsable de la rubrique GTK+