2014年05月11日

Gtk::TextViewに表示するテキストの属性の操作方法



 頭の中だけで整理しようとするとややこしいのでメモっとく。ざっと勉強しただけのやっつけまとめ。テキスト本体の編集の話ではなく、あくまで表示などに関わる属性の話。とりあえずはGTK+2向け。

 まずTextViewのテキスト全体に対する操作は、TextViewがdefault_attributesとして持っているGtk::TextAttributesをいじればいいのだが、TextAttributesはさらに入れ子構造になっていて真面目に掘っていこうとするとめんどくさい。(そうでもなかった)TextAttributes以下で管理している属性のいくつかはTextViewのメソッドやプロパティとして操作できるので、まずはそちらから触ることを試みるのが得策か。

 対してテキストの一部分に適用するための属性は、テキストの範囲を指定して設定するGtk::TextTagを介して操作する。TextTagを使うには、まずTextBufferに紐付けられているGtk::TextTagTableに登録した上で、テキスト上の位置を指定して貼り付ける。TextTagの作成、貼り付けはTextBufferのメソッドで行う。

【参考リンク】
 GTK+ 2 Reference Manual: Text Widget Overview
 Ruby/GTK API Reference - Ruby-GNOME2 Project Website
posted by chrono at 08:02| Comment(0) | Ruby
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: