… | |
… | |
2291 | |
2291 | |
2292 | our @ISA = DC::UI::EntryBase::; |
2292 | our @ISA = DC::UI::EntryBase::; |
2293 | |
2293 | |
2294 | use DC::OpenGL; |
2294 | use DC::OpenGL; |
2295 | |
2295 | |
|
|
2296 | sub new { |
|
|
2297 | my $class = shift; |
|
|
2298 | |
|
|
2299 | $class->SUPER::new ( |
|
|
2300 | history_pointer => -1, |
|
|
2301 | @_ |
|
|
2302 | ) |
|
|
2303 | } |
|
|
2304 | |
|
|
2305 | |
2296 | sub invoke_key_down { |
2306 | sub invoke_key_down { |
2297 | my ($self, $ev) = @_; |
2307 | my ($self, $ev) = @_; |
2298 | |
2308 | |
2299 | my $sym = $ev->{sym}; |
2309 | my $sym = $ev->{sym}; |
2300 | |
2310 | |
… | |
… | |
2324 | $self->{history_pointer} = -1 if $self->{history_pointer} < 0; |
2334 | $self->{history_pointer} = -1 if $self->{history_pointer} < 0; |
2325 | |
2335 | |
2326 | if ($self->{history_pointer} >= 0) { |
2336 | if ($self->{history_pointer} >= 0) { |
2327 | $self->set_text ($self->{history}->[$self->{history_pointer}]); |
2337 | $self->set_text ($self->{history}->[$self->{history_pointer}]); |
2328 | } else { |
2338 | } else { |
|
|
2339 | if (defined $self->{history_saveback}) { |
2329 | $self->set_text ($self->{history_saveback}); |
2340 | $self->set_text ($self->{history_saveback}); |
|
|
2341 | $self->{history_saveback} = undef; |
|
|
2342 | } |
2330 | } |
2343 | } |
2331 | |
2344 | |
2332 | } else { |
2345 | } else { |
2333 | return $self->SUPER::invoke_key_down ($ev) |
2346 | return $self->SUPER::invoke_key_down ($ev) |
2334 | } |
2347 | } |