129 |
sub remove_button { |
sub remove_button { |
130 |
my ( $self, $name ) = @_; |
my ( $self, $name ) = @_; |
131 |
delete( $self->callback->{$name} ); |
delete( $self->callback->{$name} ); |
132 |
my @new_order = grep { !/\Q$name\E/ } @{ $self->callback_order }; |
my @order = grep { !/^\Q$name\E$/ } @{ $self->callback_order }; |
133 |
warn "# remove_button $name new order = ",dump( @new_order ); |
warn "# remove_button $name order = ",dump( @order ); |
134 |
$self->callback_order( \@new_order ); |
$self->callback_order( \@order ); |
135 |
|
} |
136 |
|
|
137 |
|
sub rename_button { |
138 |
|
my ( $self, $from, $to ) = @_; |
139 |
|
$self->callback->{$to} = delete( $self->callback->{$from} ); |
140 |
|
my @order = ( map { s/^\Q$from\E$/$to/; $_ } @{ $self->callback_order } ); |
141 |
|
warn "# rename_button $from => $to order = ",dump( @order ); |
142 |
|
$self->callback_order( \@order ); |
143 |
} |
} |
144 |
|
|
145 |
sub render_buttons { |
sub render_buttons { |