… | |
… | |
3 | # sends the following ext message types |
3 | # sends the following ext message types |
4 | # ws_n id # widgetset new |
4 | # ws_n id # widgetset new |
5 | # ws_d id # widgetset destroy |
5 | # ws_d id # widgetset destroy |
6 | # ws_c ws id class args # widgetset create |
6 | # ws_c ws id class args # widgetset create |
7 | # w_c id [rid] name args # widget method call |
7 | # w_c id [rid] name args # widget method call |
8 | # w_s id name value # widget member set |
8 | # w_s id @attr # widget member set |
9 | # w_g id rid name # widget member get |
9 | # w_g id rid @attr # widget member get |
10 | # |
10 | # |
11 | # and expects the following exti message types |
11 | # and expects the following exti message types |
12 | # w_r rid res # widget call return |
12 | # w_r rid res # widget call return |
13 | # w_e id name args # widget_event |
13 | # w_e id name args # widget_event |
14 | |
14 | |
… | |
… | |
94 | [5, "Pow"], |
94 | [5, "Pow"], |
95 | [6, "Cha"], |
95 | [6, "Cha"], |
96 | ) { |
96 | ) { |
97 | my ($x, $label) = @$_; |
97 | my ($x, $label) = @$_; |
98 | |
98 | |
99 | $statstable->add ($x, 0, $ws->new (Label => |
99 | $statstable->add_at ($x, 0, $ws->new (Label => |
100 | can_hover => 1, can_events => 1, |
100 | can_hover => 1, can_events => 1, |
101 | align => +1, text => $label, tooltip => "#stat_$label", |
101 | align => +1, text => $label, tooltip => "#stat_$label", |
102 | )); |
102 | )); |
103 | $statstable->add ($x, 1, $ws->{stat}{$label} = $ws->new (Label => |
103 | $statstable->add_at ($x, 1, $ws->{stat}{$label} = $ws->new (Label => |
104 | can_hover => 1, can_events => 1, |
104 | can_hover => 1, can_events => 1, |
105 | align => +1, template => "88", tooltip => "#stat_$label", |
105 | align => +1, template => "88", tooltip => "#stat_$label", |
106 | )); |
106 | )); |
107 | } |
107 | } |
108 | |
108 | |
… | |
… | |
113 | |
113 | |
114 | cf::player->attach ( |
114 | cf::player->attach ( |
115 | on_login => sub { |
115 | on_login => sub { |
116 | my ($pl) = @_; |
116 | my ($pl) = @_; |
117 | |
117 | |
118 | #return unless $cf::CFG{devel}; |
118 | return unless $cf::CFG{devel}; |
119 | |
119 | |
120 | my $ns = $pl->ns; |
120 | my $ns = $pl->ns; |
121 | |
121 | |
122 | return unless $ns->{can_widget}; |
122 | return unless $ns->{can_widget}; |
123 | |
123 | |
… | |
… | |
275 | } |
275 | } |
276 | |
276 | |
277 | sub set { |
277 | sub set { |
278 | my ($self, $member, $value) = @_; |
278 | my ($self, $member, $value) = @_; |
279 | |
279 | |
280 | $self->msg (w_s => name => $member, value => $value); |
280 | $self->msg (w_s => attr => [ [$member, $value] ]); |
281 | } |
281 | } |
282 | |
282 | |
283 | sub get { |
283 | sub get { |
284 | my ($self, $member, $cb) = @_; |
284 | my ($self, $member, $cb) = @_; |
285 | |
285 | |
286 | $self->msg_cb ($cb, w_g => name => $member); |
286 | $self->msg_cb ($cb, w_g => attr => [$member]); |
287 | } |
287 | } |
288 | |
288 | |
289 | sub TO_JSON { |
289 | sub TO_JSON { |
290 | { __widget_ref__ => $_[0]{id} } |
290 | { __widget_ref__ => $_[0]{id} } |
291 | } |
291 | } |