2010-12-06 5 views
2

私は非常に単純なテキストエディタコンポーネントをパーソナルプロジェクト用にプログラミングしています。それは太字、イタリック、下線、右、中央、左、正当な記法をサポートしています...これまでの神様。 TextControl.Buffer.ApplyTag(tag, start, end)を使用してボタンを1回押すと、選択したテキスト部分が太字になります。もう一度ボタンを押すと、太字の表示が消えます。Gtk#TextViewのテキストに適用されたタグを検出する方法は?

問題は、タグを検出してから削除してフォーマットが消えることです。すべてのタグを削除するにはTextControl.Buffer.RemoveAllTags(start, end);、特定のタグを削除するにはthis.TextControl.Buffer.RemoveTag(tag, start, end);を使用できます。しかし、私は、次のような機能を探しています:

TextTag[] GetTags(TextIter start, TextIter end); 

...ので、私は、タグは特定の選択に適用されているかを検出することができますが、私はGtk.TextViewのドキュメントでその機能を見つけることも、どこにもないのですelse。誰がこれについて知っていますか?

答えて

1

TextIter.Tags読み取り専用プロパティが必要です。これは、範囲ではなく単一の点に適用されるタグのリストを提供します。タグは範囲の半分にしか適用されないので、範囲はより複雑です。あなたがそれを望むなら、あなたはおそらくそれを書く必要があります。

+0

ありがとうございました、これは私が探していたものです。 – Baltasarq

関連する問題