Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^2: How to control a Tk::AbstractCanvas with a second one

by Anonymous Monk
on Nov 29, 2012 at 10:44 UTC ( #1006224=note: print w/replies, xml ) Need Help??


in reply to Re: How to control a Tk::AbstractCanvas with a second one
in thread How to control a Tk::AbstractCanvas with a second one

And here it is, busywork

#!/usr/bin/perl -- use strict; use warnings; use Tk; use Tk::AbstractCanvas; { my $mwin = my $mw = tkinit; my $acnv = $mwin->AbstractCanvas()->pack(-expand => 1, -fill => 'b +oth'); $acnv->controlNav(1); # advanced CtrlKey+MouseDrag Navigation $acnv->rectToPoly(1); $acnv->ovalToPoly(1); my $rect = $acnv->createRectangle( 7, 8, 24, 23, -fill => 'r +ed'); my $oval = $acnv->createOval( 23, 24, 32, 27, -fill => 'gre +en'); my $line = $acnv->createLine( 0, 1, 31, 32, -fill => 'bl +ue', -arrow => 'la +st'); my $labl = $mwin->Label(-text => 'Hello AbstractCanvas! =)'); my $wind = $acnv->createWindow(15, 16, -window => $labl); $acnv->CanvasBind('<x>' => \&exit); $acnv->CanvasFocus(); $acnv->viewAll(); my $c2 = $mwin->Canvas( -background => 'black', #~ -width => 100, #~ -height => 100, #~ -width => 20, #~ -height => 20, -width => 30, -height => 30, ); $c2->createOval(0, 0, 5, 5, -fill => 'white',-tags => ['shabba'] ) +; $mw->bind( $c2, '<ButtonPress-1>' => [ \&shabba , $acnv ]); $c2->place( qw/ -x 10 -y 10 / ); } MainLoop; sub shabba { my( $c2, $acnv ) = @_; #~ my $c2 = $Tk::event->W; my $x = $Tk::event->x; my $y = $Tk::event->y; #~ use Data::Dump; #~ dd [ $c2->configure ], [ $c2->itemconfigure( 'shabba' )] ; $c2->coords( 'shabba', $x, $y , $x+5, $y+5); # size is 5 my $width = $c2->cget('-width'); my $height = $c2->cget('-height'); my $xview = $x / $width; my $yview = $y / $height; $acnv->xviewMoveto( $xview ); $acnv->yviewMoveto( $yview ); }

See also Tk::Zinc / http://web.archive.org/web/20061020033841/http://www.tkzinc.org/

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1006224]
help
Chatterbox?
[ovedpo15]: The only thing I know is that there is a comma at the end and a value after that
[hippo]: Try it and see. Your computer won't explode.
[Corion]: length will tell you the length of a string.
[Corion]: But if you are parsing CSV, again, let me point to Text::CSV_XS, which you should use instead
[hippo]: +1 for Text::CSV_XS
[ovedpo15]: Im not allowed to use additional modules, so I can't use it. looking for a simple regex to do this task though..
[Corion]: Ah, so this is homework? Then most likely, you should review your course material closer. It would greatly surprise me if the course material wouldn't mention the topics that will be used in the homework...
[Corion]: I already showed you the simple regex to match the last part of a string without a comma in it
[Tux]: Corion++ hippo++

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (6)
As of 2018-05-27 10:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?