1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
package HelpBrowser;
use strict;
use warnings;
use QtCore4;
use QtGui4;
use QtCore4::isa qw( Qt::TextBrowser );
sub NEW
{
my ($class, $parent) = @_;
$class->SUPER::NEW($parent);
my $collectionFile = Qt::LibraryInfo::location(Qt::LibraryInfo::ExamplesPath())
. '/help/contextsensitivehelp/doc/wateringmachine.qhc';
this->{m_helpEngine} = Qt::HelpEngineCore($collectionFile, this);
if (!this->{m_helpEngine}->setupData()) {
this->{m_helpEngine} = 0;
}
}
sub showHelpForKeyword
{
my ($id) = @_;
if (this->{m_helpEngine}) {
#Qt::Map<Qt::String, Qt::Url> links = this->{m_helpEngine}->linksForIdentifier(id);
my $links = this->{m_helpEngine}->linksForIdentifier($id);
if ($links && ref $links eq 'ARRAY') {
this->setSource($links->[0]->value());
}
}
}
sub loadResource
{
my ($type, $name) = @_;
my $ba = Qt::ByteArray();
if ($type < 4 && this->{m_helpEngine}) {
my $url = Qt::Url($name);
if ($name->isRelative()) {
$url = this->source()->resolved($url);
}
$ba = this->{m_helpEngine}->fileData($url);
}
return Qt::Variant($ba);
}
1;
|