Хотя это не относится к Continuity, я написал модуль XUL :: Gui , который визуализирует графический интерфейс в Firefox из Perl. (он также имеет кросс-браузерный режим Web :: Gui с меньшим количеством функций) Возможно, он соответствует вашим потребностям. В частности, он предлагает диалоговое окно выбора файлов (только XUL :: Gui), доступно только с локального хоста и автоматически запускает окно браузера и управляет им.
Если вы проданы на Continuity в качестве основы, вы можете позаимствовать логику, которую XUL :: Gui использует для достижения вышеуказанных функций. (ищите sub filepicker
и sub start
в источнике)
Наконец, вот пример простого графического интерфейса для приложения командной строки:
use XUL::Gui;
display Window
title => 'Foo Processor',
minheight => 300,
Hbox( MIDDLE,
(map {
my $id = $_;
CheckBox
id => $id,
label => "use $id",
option => sub {
shift->checked eq 'true' ? " -$id" : ()
}
} qw/foo bar baz/),
Label(
value => 'num: '
),
TextBox(
id => 'num',
type => 'number',
option => sub {' -num ' . shift->value}
),
Button(
label => 'run',
oncommand => sub {
my @opts = map {ID($_)->option} qw/foo bar baz num/;
ID(txt)->value = "fooproc @opts";
}
),
),
TextBox( FILL SCROLL id => 'txt', multiline => 'true' );