27 |
my ($self, $name, $callback) = @_; |
my ($self, $name, $callback) = @_; |
28 |
$self->callback->{$name} = $callback; |
$self->callback->{$name} = $callback; |
29 |
push @{ $self->callback_order }, $name; |
push @{ $self->callback_order }, $name; |
30 |
warn "## callback_order = ",dump( $self->callback_order ); |
warn "## callback_order = ",dump( $self->callback_order ) if $self->debug; |
31 |
} |
} |
32 |
|
|
33 |
sub remove_button { |
sub remove_button { |
34 |
my ( $self, $name ) = @_; |
my ( $self, $name ) = @_; |
35 |
delete( $self->callback->{$name} ); |
delete( $self->callback->{$name} ); |
36 |
my @order = grep { !/^\Q$name\E$/ } @{ $self->callback_order }; |
my @order = grep { !/^\Q$name\E$/ } @{ $self->callback_order }; |
37 |
warn "# remove_button $name order = ",dump( @order ); |
warn "# remove_button $name order = ",dump( @order ) if $self->debug; |
38 |
$self->callback_order( \@order ); |
$self->callback_order( \@order ); |
39 |
} |
} |
40 |
|
|
42 |
my ( $self, $from, $to ) = @_; |
my ( $self, $from, $to ) = @_; |
43 |
$self->callback->{$to} = delete( $self->callback->{$from} ); |
$self->callback->{$to} = delete( $self->callback->{$from} ); |
44 |
my @order = ( map { s/^\Q$from\E$/$to/; $_ } @{ $self->callback_order } ); |
my @order = ( map { s/^\Q$from\E$/$to/; $_ } @{ $self->callback_order } ); |
45 |
warn "# rename_button $from => $to order = ",dump( @order ); |
warn "# rename_button $from => $to order = ",dump( @order ) if $self->debug; |
46 |
$self->callback_order( \@order ); |
$self->callback_order( \@order ); |
47 |
} |
} |
48 |
|
|