ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/UI.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/UI.pm (file contents):
Revision 1.164 by root, Mon Apr 24 06:57:39 2006 UTC vs.
Revision 1.167 by elmex, Mon Apr 24 08:44:23 2006 UTC

492sub new { 492sub new {
493 my ($class, %arg) = @_; 493 my ($class, %arg) = @_;
494 494
495 my $children = delete $arg{children} || []; 495 my $children = delete $arg{children} || [];
496 496
497 my $self = $class->SUPER::new (children => [], can_events => 0, %arg); 497 my $self = $class->SUPER::new (
498 children => [],
499 can_events => 0,
500 %arg,
501 );
498 $self->add ($_) for @$children; 502 $self->add ($_) for @$children;
499 503
500 $self 504 $self
501} 505}
502 506
751 755
752 my $self = $class->SUPER::new ( 756 my $self = $class->SUPER::new (
753 bg => [1, 1, 1, 1], 757 bg => [1, 1, 1, 1],
754 border_bg => [1, 1, 1, 1], 758 border_bg => [1, 1, 1, 1],
755 border => 0.8, 759 border => 0.8,
756 can_events => 0, 760 can_events => 1,
757 @_ 761 @_
758 ); 762 );
759 763
760 $self->{title} &&= new CFClient::UI::Label 764 $self->{title} &&= new CFClient::UI::Label
761 align => 0, 765 align => 0,
1462 my ($self, $ev) = @_; 1466 my ($self, $ev) = @_;
1463 1467
1464 my $sym = $ev->{sym}; 1468 my $sym = $ev->{sym};
1465 1469
1466 if ($sym == 13) { 1470 if ($sym == 13) {
1471 unshift @{$self->{history}},
1472 my $txt = $self->get_text;
1473 $self->{history_pointer} = -1;
1467 $self->emit (activate => $self->get_text); 1474 $self->emit (activate => $txt);
1468 $self->update; 1475 $self->update;
1476
1477 } elsif ($sym == CFClient::SDLK_UP) {
1478 if ($self->{history_pointer} < 0) {
1479 $self->{history_saveback} = $self->get_text;
1480 }
1481 $self->{history_pointer}++;
1482 if ($self->{history_pointer} >= @{$self->{history}}) {
1483 $self->{history_pointer} = @{$self->{history}} - 1;
1484 }
1485 $self->set_text ($self->{history}->[$self->{history_pointer}]);
1486
1487 } elsif ($sym == CFClient::SDLK_DOWN) {
1488 $self->{history_pointer}--;
1489 $self->{history_pointer} = -1 if $self->{history_pointer} < 0;
1490
1491 if ($self->{history_pointer} >= 0) {
1492 $self->set_text ($self->{history}->[$self->{history_pointer}]);
1493 } else {
1494 $self->set_text ($self->{history_saveback});
1495 }
1469 1496
1470 } else { 1497 } else {
1471 $self->SUPER::key_down ($ev); 1498 $self->SUPER::key_down ($ev);
1472 } 1499 }
1473 1500

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines