genie を使用して小さなアプリケーションにダイアログを追加しようとしています。これは、ヘッダーバーのボタンをクリックすると開くオープンファイル ダイアログです。
Genie には例が不足しているので、vala から何かを適応させようとしています。ただし、私が見つけたすべての例は、Genie に変換できないスイッチ コマンドを使用していました。
これはヴァラコードです:
public void on_open_image (Button self) {
var filter = new FileFilter ();
var dialog = new FileChooserDialog ("Open image",
window,
FileChooserAction.OPEN,
Stock.OK, ResponseType.ACCEPT,
Stock.CANCEL, ResponseType.CANCEL);
filter.add_pixbuf_formats ();
dialog.add_filter (filter);
switch (dialog.run ())
{
case ResponseType.ACCEPT:
var filename = dialog.get_filename ();
image.set_from_file (filename);
break;
default:
break;
}
dialog.destroy ();
}
そして、これは私が前のコードから得たものです:
def openfile (self:Button)
var dialog = new FileChooserDialog ("Open file",
window,
FileChooserAction.OPEN,
Stock.OK, ResponseType.ACCEPT,
Stock.CANCEL, ResponseType.CANCEL)
switch (dialog.run ())
case ResponseType.ACCEPT
var filename
filename = dialog.get_filename ()
image.set_from_file (filename)
break
default
break
dialog.destroy ()
case ステートメントで明らかにエラーがスローされます。Genieでスイッチを使用するには?