GtkSourceViewのビューとバッファに関する色々な設定に関して(メモ・後半)
「GtkSourceViewのビューとバッファに関する色々な設定に関して(メモ・前半)」の続き。
ソースビュー(gtksourceview2.Viewクラス)
インデント(字下げ)
字下げされている行で改行したときにその字下げ分のスペースが次の行の先頭に自動的に入る機能(自動インデント)があるが、これはGObjectプロパティauto-indentをTrueにするかメンバ関数set_auto_indent()にTrueを渡すことで有効にできる。
GObjectプロパティindent-on-tabをFalseにするかメンバ関数set_indent_on_tab()にFalseを指定すると、行を選択したときにTab/Shift+Tabで字下げの段階を調整しないようにできる(既定では有効)。
GObjectプロパティindent-widthもしくはメンバ関数set_indent_width()を用いてインデント幅を設定できる。既定値は-1で、この値のときにはGObjectプロパティtab-widthの値が用いられる。有効範囲は-1から32。
表示関係
GObjectプロパティshow-line-numbersをTrueにするかメンバ関数set_show_line_numbers()にTrueを渡すと、行番号を左に表示することができる。
GObjectプロパティshow-line-marksをTrueにするかメンバ関数set_show_line_marks()にTrueを渡すと、バッファ内に追加したマーク(gtksourceview2.Markクラス,バッファのメンバ関数create_source_mark()で作成)のある行に画像を表示することができる。
GObjectプロパティshow-right-marginをTrueにするかメンバ関数set_show_right_margin()にTrueを渡すと、80桁の位置に線が引かれる。この位置はGObjectプロパティright-margin-positionもしくはメンバ関数set_right_margin_position()で指定できる。
GObjectプロパティtab-widthもしくはメンバ関数set_tab_width()を用いるとタブの表示幅が設定できる。既定値は8で有効範囲は1から32。
GObjectプロパティhighlight-current-lineをTrueにするかメンバ関数set_highlight_current_line()にTrueを渡すことでカーソルのある行を強調表示できる。
メンバ関数set_draw_spaces()に特定のフラグを組み合わせて指定することで、スペース,タブ,改行を個別に表示/非表示にすることができる。指定可能なフラグは以下。
- gtksourceview2.DRAW_SPACES_SPACE
- gtksourceview2.DRAW_SPACES_TAB
- gtksourceview2.DRAW_SPACES_NEWLINE
この他、引数にgtksourceview2.DRAW_SPACES_ALLを指定すると上記の全てを表示するようにできる。
Home/Endキーの挙動変更
GObjectプロパティsmart-home-endもしくはメンバ関数set_smart_home_end()によりHome/Endキーによる移動の微妙な挙動を調整できる。指定可能な値は以下のようになる。
- gtksourceview2.SMART_HOME_END_DISABLED (既定値)
- gtksourceview2.SMART_HOME_END_BEFORE
- gtksourceview2.SMART_HOME_END_AFTER
- gtksourceview2.SMART_HOME_END_ALWAYS
(「GtkSourceViewのビューとバッファに関する色々な設定に関して(例)」に続く)
関連記事:
- PyGObject/PyGTKにおけるGObjectプロパティの操作について
- PyGObjectで gobject.GObjectクラスを継承してGObjectプロパティを用いる(前半)
- PyGObjectで gobject.GObjectクラスを継承してGObjectプロパティを用いる(後半)
- GtkSourceViewの色付き表示(シンタックス・ハイライティング)機能の動作について(ページ1/3)
- GtkSourceViewの色付き表示(シンタックス・ハイライティング)機能の動作について(ページ2/3)
- GtkSourceViewの色付き表示(シンタックス・ハイライティング)機能の動作について(ページ3/3)
- GtkSourceViewのビューとバッファに関する色々な設定に関して(メモ・前半)
- GtkSourceViewのビューとバッファに関する色々な設定に関して(例)
使用したバージョン:
- Python 2.6.4
- PyGTK 2.16.0
- PyGtkSourceView 2.8.0