El modelo
El modelo de una «ComboBox» puede definirse y llenarse exactamente como un TreeView. Por ejemplo, puede derivar una clase «ComboBox» con una columna de números enteros y otra de texto, así:
ModelColumns() { add(m_col_id); add(m_col_name); } Gtk::TreeModelColumn<int> m_col_id; Gtk::TreeModelColumn<Glib::ustring> m_col_name; }; ModelColumns m_columns;
Después de añadirle las filas a este modelo, deberá proporcionárselo al ComboBox con el método set_model(). Luego, use los métodos pack_start() o pack_end() para especificar qué columnas se mostrarán en el «ComboBox». Al igual que con el «TreeView», podrá usar el «CellRenderer» predeterminado pasándole la TreeModelColumn a los métodos de empaquetado, o puede instanciar un CellRenderer específico y definir un mapeado particular con add_attribute() o set_cell_data_func(). Tenga en cuenta que estos métodos están en la clase base CellLayout.