gtk combos
===========


.. module:: gtk.Combo

.. _combo:

:mod:`gtk.Combo` GTK ComboEntry
===============================

création du combo
-----------------

``gtk.ComboEntry()``

création du modèle
------------------

::

   self.tag_combo_model = gtk.ListStore(str)
   cell = gtk.CellRendererText()
   self.tag_combo.pack_start(cell, True)
   self.tag_combo.set_model(self.tag_combo_model)
   self.tag_combo_model.clear() #entry.set_text("")



itérer sur le modèle
---------------------


.. important:: il est possible, plutôt que d'itérer sur le modèle, 
               de récupérer un path

``gtk.TreeModel.get_iter_from_string``


- renseigner une valeur dans la liste déroulante

::

   cur_iter = self.tag_combo_model.get_iter_root()
   self.tag_combo.set_active_iter(cur_iter)


   cur_iter = model.get_iter_root()
   model.get_value(cur_iter,0)

http://www.pygtk.org/docs/pygtk/class-gtkcombobox.html#method-gtkcombobox--get-active-text

- récupération de la valeur courante du combo (le entry)

``get_active_text()``

::

          cur_iter = model.get_iter_root()
           while cur_iter:
               if model.get_value(cur_iter,0) == self.edited_dir.mark[0]:
                   self.mark_combo.set_active_iter(cur_iter)
                   self.mark_value.set_text(self.edited_dir.mark[1])
                   break
               cur_iter=model.iter_next(cur_iter)


:download:`un exemple dans le code <./code/directive.py>`

