できた。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch(9.0) 2018-06-27
- Mono 5.16.0
- MonoDevelop 7.6 build 711
- Eto.Forms 2.4.1 拡張機能, NuGetパッケージ
- .NET Core 2.2, MonoDevelop参照方法
前回まで
GtkSourceViewがインストールされているように見えたが、開発版のlibgtksourceview-3.0-devは未インストールだった。
libgtksourceview-3.0-devをインストールすることで、Gladeから参照できるようになった。
手順
Gladeを起動する。(メインメニュー→プログラミング→Glade)
1. 配置
トップレベル.ウインドウをDnDする(GtkWindow)


コンテナー.ウインドウをDnDする(GtkBox)

アイテムの数=4


GtkSourceViewにある4つを適当にぶちこんでいくGtkSourceViewGtkSourceMapGtkSourceStyleSchemeChooserWidgetGtkSourceStyleSchemeChooserButton



2. データ設定
2-1. GtkTextBuffer作成
- 画面右上で
GtkSourceMapをクリックする - 画面右下で
全般タグのうちテキストビューの属性→バッファーのアイコンをクリックする

- ダイアログの
新規ボタン押下する

textbuffer1(GtkTextBuffer)が作成される
2-2. 初期値の代入
- 画面右上で
textbuffer1をクリックする - 画面右下で
全般タグのうちラベルのアイコンをクリクする

- ダイアログの
文字列の中に任意のテキストを入力する

OKボタンを押下する
2-3. GtkSourceViewと紐付ける
- 画面右上で
GtkSourceViewをクリックする - 画面右下で
全般タグのうちテキストビューの属性→バッファーのアイコンをクリックする

- ダイアログの
オブジェクトにあるtextbuffer1ラジオボタンをクリックする

OKボタンを押下するGtkTextBuffer作成のバッファに設定したテキストがビューアに表示される

3. 実行

ファイル
ファイル保存したものが以下。
HelloGtkSourceView.glade
<?xml version="1.0" encoding="UTF-8"?> <!-- Generated with glade 3.20.0 --> <interface> <requires lib="gtk+" version="3.20"/> <requires lib="gtksourceview" version="3.0"/> <object class="GtkTextBuffer" id="textbuffer1"> <property name="text" translatable="yes">任意のテキスト。 GtkSourceViewに表示する。 Gtk#でも使いたい。 #include <stdio.h> </property> </object> <object class="GtkWindow"> <property name="can_focus">False</property> <child> <object class="GtkBox"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> <child> <object class="GtkSourceView"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="left_margin">2</property> <property name="right_margin">2</property> <property name="buffer">textbuffer1</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> <object class="GtkSourceMap"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="editable">False</property> <property name="left_margin">2</property> <property name="right_margin">2</property> <property name="buffer">textbuffer1</property> <property name="monospace">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> <child> <object class="GtkSourceStyleSchemeChooserWidget"> <property name="visible">True</property> <property name="can_focus">False</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">2</property> </packing> </child> <child> <object class="GtkSourceStyleSchemeChooserButton"> <property name="label" translatable="yes">クラシック</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="position">3</property> </packing> </child> </object> </child> </object> </interface>
所感
gladeファイルはC++でなら使えると思われる。使ったことが無いため詳細は知らない。
C#での使用法については情報がない。MonoDevelopのNuGetパッケージ追加でGtkSourceViewと検索しても見つけられない。