GNOME Seed で MessageDialogを使う

GNOME Seed で MessageDailogを使う方法を調べた。
ソースコードは以下のとおり。

#! /usr/bin/env seed

const Gtk = imports.gi.Gtk;

Gtk.init (Seed.argv);
var message_dialog = new Gtk.MessageDialog ();
message_dialog.title = "Message Dialog"
message_dialog.message_type = Gtk.MessageType.QUESTION;
message_dialog.text = "Can you see me?";
message_dialog.add_button (Gtk.STOCK_OK, Gtk.ResponseType.OK);
if (message_dialog.run () == Gtk.ResponseType.OK)
{
	print ("OK");
}
message_dialog.destroy ();

MessageDialogはコンストラクタでnewする必要がある。引数はオブジェクトなので、JSON形式で書けば良いのだが、最初は引数なしで作成し、プロパティを一つずつ書いていく。また、ボタンが必要なので、一つ追加している。

リファレンスは、以下を参照してください。
http://www.roojs.com/seed/gir-1.2-gtk-3.0/seed/Gtk.html

JSON形式を使うと以下のように書き換えられる。

#! /usr/bin/env seed

const Gtk = imports.gi.Gtk;

Gtk.init (Seed.argv);
var message_dialog = new Gtk.MessageDialog (
	{title : "Message Dialog", 
	message_type : Gtk.MessageType.QUESTION,
	text : "Can you see me?",
	buttons : Gtk.ButtonsType.OK});
if (message_dialog.run () == Gtk.ResponseType.OK)
{
	print ("OK");
}
message_dialog.destroy ();

buttons プロパティはコンストラクタでしか設定できないので、こっちのほうが楽かもしれません。