Gtkでは、どのように私は特定の値を含む行のためのListStoreを検索するには?

StackOverflow https://stackoverflow.com/questions/2214431

  •  19-09-2019
  •  | 
  •  

質問

私はListStoresのリストをモデル化Tagを持っています。このリストは、ListStoreから離れて変更されることがあります。私は何をしたいのは、私のTagRemovedクラスでTagListイベントに耳を傾け、そしてイベントがトリガされたときTagからListStoreを削除しています。しかし、私はそれを削除することができるように、与えられたListStoreを含む行のためのTagを検索する方法を見つけるように見えることはできません。

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

役に立ちましたか?

解決

GtkListStoreは、あなたが望むツリートラバーサルの操作が含まれGtkTreeModelインタフェースを実装します。私の知る限りでは、あなたがあなた自身をロールバックする必要がありますので、リスト/ツリーストアを検索するための便利なAPIがありません。

あなたは、単にGtkListStoreを反復処理しているので、

は、子/親関係を扱うAPIのすべてを無視して、単にリストを横断するgtk_tree_model_iter_first()gtk_tree_model_iter_next()を使用することができます。

また、あなたはすでに店(例えば、あなたのTagRemovedイベントから)、あなたはGtkTreePathにそれを回して直接検索することなく、問題の行を取得するためにgtk_tree_model_get_iter()を使用することができますで削除タグのインデックスを知っていれば。

他のヒント

リンクリストがそうのように、

GtkListStoreは内部で実装されています自分でモデルをスキャンする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top