diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-01-01 18:29:30 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-01-01 18:29:30 -0600 |
commit | b2af005db21bd8fd068cb79b2ae700953128af2c (patch) | |
tree | abd0ed633726bf0bbecb57d30e92836c31e02695 /PerlQt/tutorials/t10 | |
parent | c1b9383f2032d82db5eb8918dca885e37a901dde (diff) | |
download | libtqt-perl-b2af005db21bd8fd068cb79b2ae700953128af2c.tar.gz libtqt-perl-b2af005db21bd8fd068cb79b2ae700953128af2c.zip |
Move PerlQt
Diffstat (limited to 'PerlQt/tutorials/t10')
-rw-r--r-- | PerlQt/tutorials/t10/CannonField.pm | 76 | ||||
-rw-r--r-- | PerlQt/tutorials/t10/LCDRange.pm | 43 | ||||
-rw-r--r-- | PerlQt/tutorials/t10/t10.pl | 61 |
3 files changed, 0 insertions, 180 deletions
diff --git a/PerlQt/tutorials/t10/CannonField.pm b/PerlQt/tutorials/t10/CannonField.pm deleted file mode 100644 index 08b2e10..0000000 --- a/PerlQt/tutorials/t10/CannonField.pm +++ /dev/null @@ -1,76 +0,0 @@ -package CannonField; -use strict; -use TQt; -use TQt::isa qw(TQt::Widget); -use TQt::signals - angleChanged => ['int'], - forceChanged => ['int']; -use TQt::slots - setAngle => ['int'], - setForce => ['int']; -use TQt::attributes qw( - ang - f -); -use POSIX qw(atan); - -sub angle () { ang } -sub force () { f } - -sub NEW { - shift->SUPER::NEW(@_); - - ang = 45; - f = 0; - setPalette(TQt::Palette(TQt::Color(250, 250, 200))); -} - -sub setAngle { - my $degrees = shift; - $degrees = 5 if $degrees < 5; - $degrees = 70 if $degrees > 70; - return if ang == $degrees; - ang = $degrees; - repaint(cannonRect(), 0); - emit angleChanged(ang); -} - -sub setForce { - my $newton = shift; - $newton = 0 if $newton < 0; - return if f == $newton; - f = $newton; - emit forceChanged(f); -} - -sub paintEvent { - my $e = shift; - return unless $e->rect->intersects(cannonRect()); - my $cr = cannonRect(); - my $pix = TQt::Pixmap($cr->size); - $pix->fill(this, $cr->topLeft); - - my $p = TQt::Painter($pix); - $p->setBrush(&blue); - $p->setPen(&NoPen); - $p->translate(0, $pix->height - 1); - $p->drawPie(TQt::Rect(-35, -35, 70, 70), 0, 90*16); - $p->rotate(- ang); - $p->drawRect(TQt::Rect(33, -4, 15, 8)); - $p->end; - - $p->begin(this); - $p->drawPixmap($cr->topLeft, $pix); -} - -sub cannonRect { - my $r = TQt::Rect(0, 0, 50, 50); - $r->moveBottomLeft(rect()->bottomLeft); - return $r; -} - -sub sizePolicy { - TQt::SizePolicy(&TQt::SizePolicy::Expanding, &TQt::SizePolicy::Expanding); -} - -1; diff --git a/PerlQt/tutorials/t10/LCDRange.pm b/PerlQt/tutorials/t10/LCDRange.pm deleted file mode 100644 index ab63af0..0000000 --- a/PerlQt/tutorials/t10/LCDRange.pm +++ /dev/null @@ -1,43 +0,0 @@ -package LCDRange; -use strict; -use TQt; -use TQt::isa qw(TQt::VBox); -use TQt::slots - setValue => ['int'], - setRange => ['int', 'int']; -use TQt::signals - valueChanged => ['int']; -use TQt::attributes qw( - slider -); - -sub NEW { - shift->SUPER::NEW(@_); - - my $lcd = TQt::LCDNumber(2, this, "lcd"); - - slider = TQt::Slider(&Horizontal, this, "slider"); - slider->setRange(0, 99); - slider->setValue(0); - $lcd->connect(slider, TQT_SIGNAL('valueChanged(int)'), TQT_SLOT('display(int)')); - this->connect(slider, TQT_SIGNAL('valueChanged(int)'), TQT_SIGNAL('valueChanged(int)')); - - setFocusProxy(slider); -} - -sub value { slider->value } - -sub setValue { slider->setValue(shift) } - -sub setRange { - my($minVal, $maxVal) = @_; - if($minVal < 0 || $maxVal > 99 || $minVal > $maxVal) { - warn "LCDRange::setRange($minVal,$maxVal)\n" . - "\tRange must be 0..99\n" . - "\tand minVal must not be greater than maxVal\n"; - return; - } - slider->setRange($minVal, $maxVal); -} - -1; diff --git a/PerlQt/tutorials/t10/t10.pl b/PerlQt/tutorials/t10/t10.pl deleted file mode 100644 index 7056680..0000000 --- a/PerlQt/tutorials/t10/t10.pl +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/perl -w -use strict; -use blib; - -package MyWidget; -use strict; -use TQt; -use TQt::isa qw(TQt::Widget); - -use LCDRange; -use CannonField; - -sub NEW { - shift->SUPER::NEW(@_); - - my $quit = TQt::PushButton("&Quit", this, "quit"); - $quit->setFont(TQt::Font("Times", 18, &TQt::Font::Bold)); - - TQt::app->connect($quit, TQT_SIGNAL('clicked()'), TQT_SLOT('quit()')); - - my $angle = LCDRange(this, "angle"); - $angle->setRange(5, 70); - - my $force = LCDRange(this, "force"); - $force->setRange(10, 50); - - my $cannonField = CannonField(this, "cannonField"); - - $cannonField->connect($angle, TQT_SIGNAL('valueChanged(int)'), TQT_SLOT('setAngle(int)')); - $angle->connect($cannonField, TQT_SIGNAL('angleChanged(int)'), TQT_SLOT('setValue(int)')); - - $cannonField->connect($force, TQT_SIGNAL('valueChanged(int)'), TQT_SLOT('setForce(int)')); - $force->connect($cannonField, TQT_SIGNAL('forceChanged(int)'), TQT_SLOT('setValue(int)')); - - my $grid = TQt::GridLayout(this, 2, 2, 10); - $grid->addWidget($quit, 0, 0); - $grid->addWidget($cannonField, 1, 1); - $grid->setColStretch(1, 10); - - my $leftBox = TQt::VBoxLayout; - $grid->addLayout($leftBox, 1, 0); - $leftBox->addWidget($angle); - $leftBox->addWidget($force); - - $angle->setValue(60); - $force->setValue(25); - $angle->setFocus(); -} - -package main; -use TQt; -use MyWidget; - -TQt::Application::setColorSpec(&TQt::Application::CustomColor); -my $a = TQt::Application(\@ARGV); - -my $w = MyWidget; -$w->setGeometry(100, 100, 500, 355); -$a->setMainWidget($w); -$w->show; -exit $a->exec; |