Я пытаюсь добавить диалог в небольшое приложение с джином. Это диалоговое окно openfile, которое должно открываться после нажатия кнопки headerbar button.Как бы интерфейс интерфейса выглядел в Genie?
Примеры отсутствуют в Genie, поэтому я сейчас пытаюсь что-то приспособить от vala. Однако все примеры, которые я нашел, использовали команду switch, которую я не могу перевести на 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()
Это явно выдает ошибку на сазе. Как использовать переключатель в Genie?
Думают о 'switch' как стенография для' если-то еще if' цепи, сравнивая переменную после 'switch' к каждому' значению case'. 'break' выходит из текущего корпуса тела; если у вас нет 'break' в конце, он перейдет к следующему' case'. Я не знаю, Genie, поэтому я не знаю, что такое эквивалент. – andlabs