使用Continuity作为Perl的GUI

时间:2011-02-01 17:03:28

标签: javascript html perl

我一直在使用Continuity作为Perl的“独立于平台的多用户GUI”。但是我对一些事情感兴趣,以使其可用/安全。

  1. 我不知道“使用HTML浏览文件夹”对话框,可能会以某种方式被黑客攻击,或者我的知识已经过时。
  2. 我是否可以阻止服务器将Continuity从全局可见状态开始(即我是否可以从localhost访问它)。
  3. 我可以让脚本启动浏览器(可能是系统默认设置)并在服务器设置为循环后将其发送到正确的地址和端口吗?我认为这将通过fork完成,除了循环不返回。

    最后,也许有更多影响力的人应该为continuity添加标签(并标记此标记)。

1 个答案:

答案 0 :(得分:4)

虽然与Continuity无关,但我编写了模块XUL::Gui,它在Perl中呈现了一个gui。 (它还具有跨浏览器Web::Gui模式,功能更少)也许它符合您的需求。特别是,它提供了一个文件选择器对话框(仅限XUL :: Gui),只能从localhost访问,并自动启动和管理浏览器窗口。

如果您在Continuity上作为框架出售,您可能可以借用XUL :: Gui用于实现上述功能的逻辑。 (在源代码中搜索sub filepickersub start

最后,这是一个命令行应用程序的简单gui示例:

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' );