ListStoreのリストをモデリングしていますTag。このリストは、ListStore. 私がやりたいのは、クラスでイベントをリッスンし、イベントがトリガーされたときに を削除するTagRemovedことです。ただし、特定の を含む行を検索して削除できるようにする方法が見つからないようです。TagListTagListStoreListStoreTag
これを行う方法はありますか?
ListStoreのリストをモデリングしていますTag。このリストは、ListStore. 私がやりたいのは、クラスでイベントをリッスンし、イベントがトリガーされたときに を削除するTagRemovedことです。ただし、特定の を含む行を検索して削除できるようにする方法が見つからないようです。TagListTagListStoreListStoreTag
これを行う方法はありますか?
は、必要なツリー走査操作を含むインターフェースをGtkListStore実装しGtkTreeModelます。私の知る限り、リスト/ツリーストアを検索するための便利なAPIはないため、独自のAPIを使用する必要があります。
単に繰り返し処理しているのでGtkListStore、子/親の関係を処理するすべてのAPIを無視して、単にリストを使用gtk_tree_model_iter_first()しgtk_tree_model_iter_next()てトラバースすることができます。
TagRemovedまたは、ストア内で(たとえば、イベントから)削除されたタグのインデックスがすでにわかっている場合は、それをに変換して、検索せずに問題の行を直接取得するためにGtkTreePath使用できます。gtk_tree_model_get_iter()
GtkListStore はリンクされたリストとして内部的に実装されているため、自分でモデルをスキャンする必要があります。