Pregunta

Tengo un ListStore modelar una lista de Tags. Esta lista puede cambiar aparte de la ListStore. Lo que me gustaría hacer es escuchar al evento TagRemoved en mi clase TagList, y retire la Tag del ListStore cuando se activa el evento. Sin embargo, me parece que no puede encontrar una manera de buscar un ListStore para la fila que contiene una Tag dado, para que pueda retirarla.

¿Hay alguna manera de hacer esto?

¿Fue útil?

Solución

A GtkListStore implementa la interfaz GtkTreeModel, que contiene las operaciones de recorrido de árbol que desea. Por lo que yo sé, no hay ninguna API comodidad para buscar una tienda de lista / árbol, por lo que tendrá a liar.

Dado que usted es simplemente interactuando sobre una GtkListStore, puede ignorar toda la API de abordar las relaciones hijo / padre, y simplemente usar gtk_tree_model_iter_first() y gtk_tree_model_iter_next() para recorrer la lista.

Como alternativa, si ya conoce el índice de la etiqueta eliminada en la tienda (por ejemplo, a partir de su evento TagRemoved), se puede convertir eso en un GtkTreePath y utilizar gtk_tree_model_get_iter() para recuperar la fila en cuestión directamente sin tener que buscar.

Otros consejos

GtkListStore se implementa internamente como un ligado de manera usted debe escanear el modelo por sí mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top