… | |
… | |
209 | my ($arg) = @_; |
209 | my ($arg) = @_; |
210 | |
210 | |
211 | my $w = $self->{widget}{$arg->{id}} |
211 | my $w = $self->{widget}{$arg->{id}} |
212 | or return; |
212 | or return; |
213 | |
213 | |
214 | $w->{$arg->{name}} = $arg->{value}; |
214 | $w->{$_->[0]} = $_->[1] |
|
|
215 | for @{ $arg->{attr} }; |
215 | }); |
216 | }); |
216 | |
217 | |
217 | # widget get |
218 | # widget get |
218 | $self->connect_ext (w_g => sub { |
219 | $self->connect_ext (w_g => sub { |
219 | my ($arg) = @_; |
220 | my ($arg) = @_; |
220 | |
221 | |
221 | my $w = $self->{widget}{$arg->{id}} |
222 | my $w = $self->{widget}{$arg->{id}} |
222 | or return; |
223 | or return; |
223 | |
224 | |
224 | $self->send_exti_msg (w_r => rid => $arg->{rid}, res => [$w->{$arg->{name}}]); |
225 | $self->send_exti_msg (w_r => rid => $arg->{rid}, res => [map $w->{$_}, @{$arg->{attr}}]); |
225 | }); |
226 | }); |
226 | |
227 | |
227 | # destroy widgets on logout |
228 | # destroy widgets on logout |
228 | $self->{on_stop_game_guard} = $self->{map_widget}{root}->connect (stop_game => sub { |
229 | $self->{on_stop_game_guard} = $self->{map_widget}{root}->connect (stop_game => sub { |
229 | for my $ws (values %{delete $self->{widgetset} || {}}) { |
230 | for my $ws (values %{delete $self->{widgetset} || {}}) { |