Qt

 view release on metacpan or  search on metacpan

qtgui/examples/xmlpatterns/filetree/MainWindow.pm  view on Meta::CPAN

package MainWindow;

use strict;
use warnings;
use QtCore4;
use QtGui4;
use QtXmlPatterns4;
use QtCore4::isa qw( Qt::MainWindow );
use FileTree;
use Ui_MainWindow;
use QtCore4::slots
    on_actionOpenDirectory_triggered => [],
    on_actionAbout_triggered => [],
    on_queryBox_currentIndexChanged => [];

use lib '../shared';
#use XmlSyntaxHighlighter;

sub ui() {
    return this->{ui};
}

sub m_namePool() {
    return this->{m_namePool};
}

sub m_fileTree() {
    return this->{m_fileTree};
}

sub m_fileNode() {
    return this->{m_fileNode};
}

# [0]
sub NEW {
    my ($class) = @_;
    $class->SUPER::NEW();
    this->{m_namePool} = Qt::XmlNamePool();
    this->{m_fileTree} = FileTree(m_namePool);
    this->{ui} = Ui_MainWindow->setupUi(this);

    #XmlSyntaxHighlighter(ui->fileTree->document());

    # Set up the font.
    {
        my $font = Qt::Font('Courier',10);
        $font->setFixedPitch(1);

        ui->fileTree->setFont($font);
        ui->queryEdit->setFont($font);
        ui->output->setFont($font);
    }

    my $dir = Qt::LibraryInfo::location(Qt::LibraryInfo::ExamplesPath()) . '/xmlpatterns/filetree';

    if (Qt::Dir($dir)->exists()) {
        loadDirectory($dir);
    }
    else {
        ui->fileTree->setPlainText(this->tr('Use the Open menu entry to select a directory.'));
    }

    my $queries = Qt::Dir(':/queries/', '*.xq')->entryList();

    foreach my $query ( @{$queries} ) {
        ui->queryBox->addItem($query);
    }

}
# [0]

# [2]
sub on_queryBox_currentIndexChanged
{
    my $queryFile = Qt::File(':/queries/' . ui->queryBox->currentText());
    $queryFile->open(Qt::IODevice::ReadOnly());

    ui->queryEdit->setPlainText($queryFile->readAll()->data());



( run in 1.149 second using v1.01-cache-2.11-cpan-4ab04211f4c )