2

ListStoreのリストをモデリングしていますTag。このリストは、ListStore. 私がやりたいのは、クラスでイベントをリッスンし、イベントがトリガーされたときに を削除するTagRemovedことです。ただし、特定の を含む行を検索して削除できるようにする方法が見つからないようです。TagListTagListStoreListStoreTag

これを行う方法はありますか?

4

2 に答える 2

4

は、必要なツリー走査操作を含むインターフェースをGtkListStore実装しGtkTreeModelます。私の知る限り、リスト/ツリーストアを検索するための便利なAPIはないため、独自のAPIを使用する必要があります。

単に繰り返し処理しているのでGtkListStore、子/親の関係を処理するすべてのAPIを無視して、単にリストを使用gtk_tree_model_iter_first()gtk_tree_model_iter_next()てトラバースすることができます。

TagRemovedまたは、ストア内で(たとえば、イベントから)削除されたタグのインデックスがすでにわかっている場合は、それをに変換して、検索せずに問題の行を直接取得するためにGtkTreePath使用できます。gtk_tree_model_get_iter()

于 2010-02-06T21:07:45.090 に答える
1

GtkListStore はリンクされたリストとして内部的に実装されているため、自分でモデルをスキャンする必要があります。

于 2010-02-06T20:45:07.687 に答える