Gtk3アプリ ファイルダイアログを利用する


ファイルダイアログを利用する

ダイアログ系は表示の仕方には複数あります。

プログラムで表示するタイプ

右上と左上にボタンがOkボタンとキャンセルボタンが表示されます。

ダイアログ関数宣言時にボタンのタイプと動作を指定します

Gtk.FileChooserAction.Open
Gtk.Stock.Cancel
Gtk.ResponseType.Cancel
Gtk.Stock.Open, Gtk.ResponseType.Ok
Gtk.FileChooserDialog chooseDialog1 = new FileChooserDialog ("Open file", this,  Gtk.FileChooserAction.Open, Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, Gtk.Stock.Open, Gtk.ResponseType.Ok);
chooseDialog1.LocalOnly = true;
int response = chooseDialog1.Run ();

//OKボタンが押された時の動作
if ((Gtk.ResponseType) response == Gtk.ResponseType.Ok)
{
    Console.WriteLine(chooseDialog1.Filename);
    chooseDialog1.Destroy ();
}
//Cancelボタンが押された時の動作
if ((Gtk.ResponseType) response == Gtk.ResponseType.Cancel)
{
    chooseDialog1.Destroy ();
}

Glade上に配置して利用するタイプ

ファイルダイアログの右下にボタンが表示されます。

GUI上で細かい設定ができます。

ファイルダイアログにGtk.Buttonを配置する

ファイルダイアログにGtk.Buttonを配置します。
配置後ストックボタンのところをクリックし、プリセットのデザインを利用すると便利です。

Gtk.Buttonにイベントハンドラーも設定する

Gtk.Buttonにシグナルを記入する必要があります。

C#側にもコールバック関数を書く
[UI] private readonly Gtk.FileChooserDialog openDialog1 = null;

openDialog1.Show();

openDialog1.Hide();

private void on_okBtn_clicked(object sender , EventArgs e){

}

イベント文を自動で生成するツール

ダイアログにも対応しています。

Gtk3アプリ GtkMenuを利用するへ続く