GtkComboBoxEntry

GtkComboBoxEntry — Champs de texte avec une liste déroulante

Synopsis

#include <gtk/gtk.h>
GtkComboBoxEntry;
GtkWidget*          gtk_combo_box_entry_new             (void);
GtkWidget*          gtk_combo_box_entry_new_with_model  (GtkTreeModel *model,
                                                         gint text_column);
GtkWidget*          gtk_combo_box_entry_new_text        (void);
void                gtk_combo_box_entry_set_text_column (GtkComboBoxEntry *entry_box,
                                                         gint text_column);
gint                gtk_combo_box_entry_get_text_column (GtkComboBoxEntry *entry_box);
        

Hiérarchie des Objets

GObject
+----GInitiallyUnowned
     +----GtkObject
          +----GtkWidget
               +----GtkContainer
                    +----GtkBin
                         +----GtkComboBox
                              +----GtkComboBoxEntry

Interfaces utilisées

GtkComboBoxEntry utilise GtkBuildable, AtkImplementorIface, GtkCellEditable et GtkCellLayout.

Propriétés

"text-column"              gint                  : Lire / Ecrire

Description

Un GtkComboBoxEntry est un widget qui permet à l'utilisateur de choisir une valeur (valide) dans une liste ou d'en entrer une autre. Ce widget est très semblable au GtkComboBox , la différence est qu'il affiche la valeur selectionné dans un champs saisisable pour pouvoir la modifier.

Contrairement au GtkComboBox , le modèle sous-jacent du GtkComboBoxEntry doit toujours avoir une colonne de texte (voir gtk_combo_box_entry_set_text_column() ), et le champs doit afficher le contenu de la colonne de texte de la valeur selectionnée. Pour récupérer le texte du champs de saisi, utiliser la fonction gtk_combo_box_get_active_text() .

Un signal de changement est émi lorsqu'une saisi est faite dans le GtkComboBoxEntry, mais aussi lorsqu'un élèment est sélectionné dans la liste du GtkComboBoxEntry. Utilisez gtk_combo_box_get_active() ou gtk_combo_box_get_active_iter() pour connaitre l'élèment actuellement selectionné dans la liste.

Testez le signal actif du GtkEntry (utilisez gtk_bin_get_child() ) pour savoir quand l'utilisateur à terminer de saisir du texte.

Il existe une API pour construire un simple champs de saisi GtkComboBox qui peux aussi être utilisé avec un GtkComboBoxEntry qui est construit avec la fonction gtk_combo_box_entry_new_text() .

Si vous avez des besoins spécifique qui vont au dela de la simple invite (ex : entrée de validation), il est possible de remplacer l'entrée fils par un widget différent en utilisant gtk_container_remove() et gtk_container_add() .

GtkComboBoxEntry comme GtkBuildable

Beyond the <attributes> support that is shared by all GtkCellLayout implementation, GtkComboBoxEntry makes the entry available in UI definitions as an internal child with name "entry".

Détails

GtkComboBoxEntry

typedef struct _GtkComboBoxEntry GtkComboBoxEntry;


gtk_combo_box_entry_new ()

GtkWidget*          gtk_combo_box_entry_new             (void);

Crée un nouveau GtkComboBoxEntry qui a pour fils un GtkEntry . Après la construction, vous devez définir le modèle utilisé grâce à la fonction gtk_combo_box_set_model() et un text_column en utilisant la fonction gtk_combo_box_entry_set_text_column() .

Renvoi  : Un nouveau GtkComboBoxEntry .

Depuis la v2.4


gtk_combo_box_entry_new_with_model ()

GtkWidget*          gtk_combo_box_entry_new_with_model  (GtkTreeModel *model,
                                                         gint text_column);

Créé un nouveau GtkComboBoxEntry qui a pour fils un GtkEntry et une liste de chaine de caractères comme popup. Vous pouvez récupérer le GtkEntry du GtkComboBoxEntry en utilisant GTK_ENTRY (GTK_BIN (combo_box_entry)->child). Pour ajouter ou supprimer une valeur de la liste, modifiez le model en utilisant les API de manipulation de données.

model  : Un GtkTreeModel .
text_column  : Une colonne du model pour récuperer les valeurs du combo.
Renvoi  : Un nouveau GtkComboBoxEntry .

Depuis la v2.4


gtk_combo_box_entry_new_text ()

GtkWidget*          gtk_combo_box_entry_new_text        (void);

Fonction toute prête qui créer un nouveau combo box saisissable, un GtkComboBoxEntry qui affiche une valeur. Si vous utilisez cette fonction pour créer le combo box, vous ne pourrez gérer la liste des valeurs qu'avec les fonctions suivantes : gtk_combo_box_append_text(), gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() et gtk_combo_box_remove_text() .

Renvoi  : Un nouveau texte GtkComboBoxEntry .

Depuis la v2.4


gtk_combo_box_entry_set_text_column ()

void                gtk_combo_box_entry_set_text_column (GtkComboBoxEntry *entry_box,
                                                         gint text_column);

Defini le modèle de colonne que l' entry_box utilisera pour récuperer la valeur du text_column .

entry_box  : un GtkComboBoxEntry .
text_column  : une colonne du model pour récuperer les valeurs du combo.

Depuis la v2.4


gtk_combo_box_entry_get_text_column ()

gint                gtk_combo_box_entry_get_text_column (GtkComboBoxEntry *entry_box);

Renvoi la colonne qui est utilisée par l' entry_box pour renseigner la liste des valeurs.

entry_box  : Un GtkComboBoxEntry .
Renvoi  : La colonne dans le modèle de donnée source de l' entry_box .

Depuis la v2.4

Détails des propriétés

La propriété "text-column"

  "text-column"              gint                  : Lire / Ecrire

Une colonne dans le modèle de donnée source permettant de renseigner la liste des valeurs.

Valeurs autorisées : >= -1

Valeur par défaut : -1

Voir aussi

GtkComboBox