ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/gde/GCE/EditAction.pm
(Generate patch)

Comparing deliantra/gde/GCE/EditAction.pm (file contents):
Revision 1.14 by elmex, Thu Mar 16 01:13:57 2006 UTC vs.
Revision 1.15 by elmex, Thu Mar 16 02:56:30 2006 UTC

176 176
177our @ISA = qw/GCE::EditAction/; 177our @ISA = qw/GCE::EditAction/;
178 178
179sub name { 'perl' } 179sub name { 'perl' }
180 180
181sub special_arrow { 'GDK_HEART' }
182
181sub init { 183sub init {
182 my ($self) = @_; 184 my ($self) = @_;
183 185
184 my $vb = new Gtk2::VBox; 186 my $vb = new Gtk2::VBox;
185 $vb->pack_start (my $sw = Gtk2::ScrolledWindow->new, 1, 1, 0); 187 $vb->pack_start (my $sw = Gtk2::ScrolledWindow->new, 1, 1, 0);
342use strict; 344use strict;
343 345
344our @ISA = qw/GCE::EditAction::RadioModed/; 346our @ISA = qw/GCE::EditAction::RadioModed/;
345 347
346sub name { 'select' } 348sub name { 'select' }
349
350sub special_arrow { 'GDK_CIRCLE' }
347 351
348sub init { 352sub init {
349 my ($self) = @_; 353 my ($self) = @_;
350 354
351 my $vb = new Gtk2::VBox; 355 my $vb = new Gtk2::VBox;
356 $vb->pack_start (my $bt = Gtk2::Button->new ("paste"), 0, 1, 0); 360 $vb->pack_start (my $bt = Gtk2::Button->new ("paste"), 0, 1, 0);
357 $bt->signal_connect (clicked => sub { $self->paste }); 361 $bt->signal_connect (clicked => sub { $self->paste });
358 $vb->pack_start (Gtk2::HSeparator->new, 0, 1, 0); 362 $vb->pack_start (Gtk2::HSeparator->new, 0, 1, 0);
359 $self->add_mode_button ($vb, "place", "place"); 363 $self->add_mode_button ($vb, "place", "place");
360 $self->add_mode_button ($vb, "erase", "erase"); 364 $self->add_mode_button ($vb, "erase", "erase");
365 $self->add_mode_button ($vb, "perl", "perl");
361 $vb->pack_start (my $bt = Gtk2::Button->new ("invoke"), 0, 1, 0); 366 $vb->pack_start (my $bt = Gtk2::Button->new ("invoke"), 0, 1, 0);
362 $bt->signal_connect (clicked => sub { $self->invoke }); 367 $bt->signal_connect (clicked => sub { $self->invoke });
363 368
364 $self->tool_widget ($vb); 369 $self->tool_widget ($vb);
365} 370}
390 395
391 return unless $self->{selection}->{a}; 396 return unless $self->{selection}->{a};
392 397
393 my ($x1, $y1); 398 my ($x1, $y1);
394 399
395 if ($xp) { 400 if (defined $xp) {
396 ($x1, $y1) = ($xp, $yp); 401 ($x1, $y1) = ($xp, $yp);
397 } else { 402 } else {
398 ($x1, $y1) = @{$self->{selection}->{a}}; 403 ($x1, $y1) = @{$self->{selection}->{a}};
399 } 404 }
400 405
440 for (my $y = $y1; $y <= $y2; $y++) { 445 for (my $y = $y1; $y <= $y2; $y++) {
441 if ($m eq 'place') { 446 if ($m eq 'place') {
442 $::MAINWIN->{edit_collection}{place}->edit ($map, $x, $y); 447 $::MAINWIN->{edit_collection}{place}->edit ($map, $x, $y);
443 } elsif ($m eq 'erase') { 448 } elsif ($m eq 'erase') {
444 $::MAINWIN->{edit_collection}{erase}->edit ($map, $x, $y); 449 $::MAINWIN->{edit_collection}{erase}->edit ($map, $x, $y);
450 } elsif ($m eq 'perl') {
451 $::MAINWIN->{edit_collection}{perl}->edit ($map, $x, $y);
445 } 452 }
446 } 453 }
447 } 454 }
448 $self->SUPER::end ($map); 455 $self->SUPER::end ($map);
449} 456}
507 514
508sub name { 'erase' } 515sub name { 'erase' }
509 516
510sub want_cursor { 0 } 517sub want_cursor { 0 }
511 518
512sub special_arrow { 'GDK_TCROSS' } 519sub special_arrow { 'GDK_DIAMOND_CROSS' }
513 520
514sub init { 521sub init {
515 my ($self) = @_; 522 my ($self) = @_;
516 523
517 my $vb = new Gtk2::VBox; 524 my $vb = new Gtk2::VBox;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines