Tk-AppWindow
view release on metacpan or search on metacpan
lib/Tk/AppWindow/Ext/Help.pm view on Meta::CPAN
my @col1 = ( -column => 1, -sticky => 'w', @padding);
if (my $file = $inf->{licensefile}) {
&$addnb;
my $lp = $nb->add('licence', -label => 'License');
my $t = $lp->Scrolled('ROText',
-width => 8,
-height => 8,
-scrollbars => 'osoe'
)->pack(-expand =>1, -fill => 'both', @padding);
if (open(my $fh, '<', $file)) {
while (my $line = <$fh>) {
$t->insert('end', $line)
}
close $fh
}
} else {
$ap = $db->Frame->pack(-expand => 1, -fill => 'both') unless defined $ap;
}
if (exists $inf->{components}) {
&$addnb;
my $lp = $nb->add('components', -label => 'Components');
my $cl = $lp->Scrolled('HList',
-width => 4,
-height => 4,
-columns => 2,
-header => 1,
-scrollbars => 'osoe',
)->pack(-expand => 1, -fill => 'both', @padding);
my $count = 0;
for ('Module', 'Version') {
my $header = $cl->Frame;
$header->Label(-text => $_)->pack(-side => 'left');
$cl->headerCreate($count,
-headerbackground => $self->configGet('-background'),
-itemtype => 'window',
-widget => $header
);
$count ++;
}
my $components = $inf->{components};
my $row = 0;
for (@$components) {
my $module = $_;
my $version = $self->moduleVersion($module);
if (defined $version) {
$cl->add($row, -data => "$module: $version\n");
$cl->itemCreate($row, 0, -text => $module);
$cl->itemCreate($row, 1, -text => $version);
$row++
}
}
$lp->Button(
-text => 'Copy',
-command => sub {
my $text = '';
for (0 .. $row - 1) {
$text = $text . $cl->infoData($_);
}
$self->clipboardClear;
$self->clipboardAppend($text);
}
)->pack;
} else {
$ap = $db->Frame->pack(-expand => 1, -fill => 'both') unless defined $ap;
}
my $lg = $self->configGet('-logo');
if (defined $lg) {
$ap->Label(-image => $self->Photo(-file => $lg))->pack;
}
my $gf = $ap->Frame->pack(-expand => 1, -fill => 'both');
my $row = 0;
my $ver = $inf->{version};
if (defined $ver) {
$gf->Label(-text => 'Version:')->grid(-row => $row, @col0);
my $l = $gf->Label(-text => $ver)->grid(-row => $row, @col1);
$row ++;
}
my $aut = $inf->{author};
if (defined $aut) {
$gf->Label(-text => 'Author:')->grid(-row => $row, @col0);
$gf->Label(-text => $aut)->grid(-row => $row, @col1);
$row ++;
}
my $mail = $inf->{email};
if (defined $mail) {
$gf->Label(-text => 'E-mail:')->grid(-row => $row, @col0);
my $url = $gf->Label(
-text => $mail,
)->grid(-row => $row, @col1);
$self->ConnectURL($url, "mailto:$mail");
$row ++;
}
my $web = $inf->{http};
if (defined $web) {
$gf->Label(-text => 'Website:')->grid(-row => $row, @col0);
my $url = $gf->Label(
-text => $web,
)->grid(-row => $row, @col1);
$self->ConnectURL($url, $web);
$row ++;
}
my $lc = $inf->{license};
if (defined $lc) {
if (defined $lc) {
$gf->Label(-text => 'License:')->grid(-row => $row, @col0);
my $l = $gf->Label(-text => $lc)->grid(-row => $row, @col1);
my $lcu = $inf->{licenselink};
if (defined $lcu) {
$self->ConnectURL($l, $lcu) if defined $lcu;
}
}
$row ++;
}
$db->Show(-popover => $self->GetAppWindow);
$db->destroy;
}
sub CmdHelp {
my $self = shift;
( run in 2.849 seconds using v1.01-cache-2.11-cpan-84e82930d8c )